netfilter中hook函数返回值详解

Netfilter/IPTables是Linux2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块IPTables从用户态的iptables连接到内核态的Netfilter架构NetfilterIP协议栈是无缝契合的,并允许使用者对数据报进行过滤、地址转换、处理等操作。

2.6以后内核提供如下hook返回值定义,详解如下:

#define NF_DROP 数据包丢弃,内核做丢弃动作,包括释放资源。

#define NF_ACCEPT 接收数据包,由内核继续正常的报文传送
#define NF_STOLEN 数据被hook接管,内核啥操作不做。
#define NF_QUEUE 将报文入队,通常交由用户程序处理
#define NF_REPEAT 再次调用该hook函数。
#define NF_STOP 功能和NF_ACCEPT类似但强于NF_ACCEPT,一旦挂接链表中某个hook节点返回NF_STOP,该skb包就立即结束检查而接受,不再进入链表中后续的hook节点,而NF_ACCEPT则还需要进入后续hook点检查。

猜你喜欢

转载自blog.csdn.net/qq_33336155/article/details/55100481