Netfilter笔记-01

Netfilter是Linux 2.4.x引入的子系统,提供数据包过滤、NAT和连接跟踪等功能。它在不同网络流程阶段设置检测点(HOOK),并注册处理函数。主要涉及的协议类型包括NFPROTO_IPV4、NFPROTO_IPV6、NFPROTO_ARP和NFPROTO_BRIDGE,不同协议类型的HOOK处理函数不同,如nf_inet_hooks用于IPv4和IPv6。
摘要由CSDN通过智能技术生成

Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。

netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理。

netfilter架构中不同的协议类型有不同的HOOK。协议类型代码如下:

enum {
        NFPROTO_UNSPEC =  0,
        NFPROTO_IPV4   =  2,  //IPV4
        NFPROTO_ARP    =  3,  //arp
        NFPROTO_BRIDGE =  7,  //bridge
        NFPROTO_IPV6   = 10,  //ipv6
        NFPROTO_DECNET = 12, 
        NFPROTO_NUMPROTO,
};

主要常用的是NFPROTO_IPV4,NFPROTO_IPV6,NFPROTO_ARP,NFPROTO_BRIDGE。

 

NFPROTO_IPV4,NFPROTO_IPV6 的Hooks使用的是nf_inet_hooks,代码如下:

enum nf_inet_hooks {
        NF_INET_PRE_ROUTING,
        NF_INET_LOCAL_IN,
        NF_INET_FORWARD,
        NF_INET_LOCAL_OUT,
        NF_INET_POST_ROUTING,
        NF_INET_NUMHOOKS
};
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值