Linux Netfilter注册钩子点】的更多相关文章

注册钩子点首先要包含响应的头文件,因为这应该已经属于对kernel的编程了. #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> 其次,要定义钩子函数 static unsigned int example(unsigned int hooknum,struct sk_buff* skb,const struct net_device *in,const struct n…
通过注册流程代码的分析,能够明确钩子函数的注册流程,理解存储钩子函数的数据结构,如下图(点击图片可查看原图): 废话不多说,开始分析: nf_hook_ops是注册的钩子函数的核心结构,字段含义如下所示,一般待注册的钩子函数会组成一个nf_hook_ops数组,在注册过程中调用nf_register_net_hooks将所有规则加入到指定的钩子点: struct nf_hook_ops { struct list_head list; /* User fills in from here dow…
转发:http://blog.csdn.net/stonesharp/article/details/27091391 数据包在内核态得捕获.修改和转发(基于 netfilter)    忙活了好几天,经过多次得死机和重启,终于把截获的数据包转发的功能给实现了.同时,也吧sk_buff结构学习了一下.    本程序利用netfilter的钩子函数在PREROUTING处捕获数据包,并且修改数据包首部信息,之后直接转发,从而实现对数据包转发得功能.修改数据包得数据和地址之后,最主要的就是对tcp或…
内核中将filter模块被组织成了一个独立的模块,每个这样独立的模块中都有个类似的init()初始化函数:首先来看一下filter模块是如何将自己的钩子函数注册到netfilter所管辖的几个hook点. filter 模块钩子点: /* 在LOCAL_IN,FORWARD, LOCAL_OUT钩子点工作 */ #define FILTER_VALID_HOOKS ((1 << NF_INET_LOCAL_IN) | \ (1 << NF_INET_FORWARD) | \ (1…
Linux GPIO 注册和应用 Linux Kernel, GPIO, ARM 于Linux kernel代码.经常使用 GPIO 作为一个特殊的信号,如芯片片选信号. GPIO 功能应用,我们经常使用的.例如 gpio_request ,那么 GPIO 是何时,以及怎样注冊的.本文就来探索一下. 基于的平台上 freesccale 的 i.MX6 先从函数 gpio_request 的实现開始. /* These "optional" allocation calls help p…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 有什么方式,能给代码留条活路? 有人说:人人都是产品经理,那你知道吗,人人也都可以是码农程序员!就像: 编程就是:定义属性.创建方法.调用展示 Java 和 PHP 就像男人和女人,前者在乎架构化模块后,后者在乎那个颜色我喜欢 用心写,但不要不做格式化 初次和产品对接的三个宝:砖头.铁锹.菜刀,分别保证有用.可用.好用 从一行代码到一吨代码,开发越来越难,壁垒也越来越高 其实学会写…
参考http://www.linuxtcpipstack.com/685.html#NF_INET_PRE_ROUTING https://opengers.github.io/openstack/openstack-base-netfilter-framework-overview/ http://blog.chinaunix.net/uid-26517122-id-4293010.html https://netfilter.org/documentation/HOWTO/netfilter…
对于netfilter 可以参考 https://netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-3.html netfilter 框架中包含了:filter mat mangle raw security: 在net结构中的成员struct netns_xt xt,是用来存储所有table的, netns_xt结构的成员如下,其中tables存储了多种协议对应的table链表,每种协议对应一个链表,多种table存储在自己所属…
目录 Netfilter框架 Netfilter的5个hook点 netfilter协议栈数据流分析 连接跟踪conntrack conntrack连接跟踪表条目 连接跟踪表大小 管理连接跟踪表 iptables iptables table iptables chain table和chain的关系 iptables状态匹配 参考 Netfilter框架 netfilter是Linux底层包处理框架,在协议栈中提供了若干hook点,可以用于对数据包进行过滤.修改.地址转换(SNAT/DNAT)…
1.系统环境: 操作系统:Red Hat Enterprise Linux Server release 5.4 Apache版本:httpd-2.2.19 2.注册服务 #将apachectl复制到init.d目录下 [root@bogon ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd #修改httpd [root@bogon ~]# vi /etc/init.d/httpd #找到#!/bin/sh,另起一行增加…