本地处理的数据包上的netfilter事件(netfilter C内核模块代码)

时间:2011-02-03 17:03:41

标签: linux linux-kernel netfilter

如果传入的数据包进入并在本地处理,是否有办法获取 通知该事件?

我目前正在使用NF_IP_LOCAL_IN挂钩。但看起来这样可以提供发往该接口的所有数据包。例如,假设tcp数据包X到达端口5000,并且有一个套接字侦听端口5000.我想收到该事​​件。

澄清一下,我的意思是我只想接收数据包X事件。未在本地处理的所有其他数据包(即生成ICMP目标无法访问的数据包,我不希望收到通知)

2 个答案:

答案 0 :(得分:1)

Netfilter生活在L3 / L4,所以它只能访问L4以外的信息。 OTOH,LSM(Linux安全模块)几乎到处都有钩子,包括socket_recvmsg,我认为只应该为你感兴趣的数据包调用它。

现在,您是否可以使用此功能取决于您的情况。您的环境中是否已运行LSM?如果答案是肯定的,您是否可以为您的LSM制定并插入足以满足您目的的政策?

答案 1 :(得分:0)

嗯,界面必须是lo。

或者我不明白为什么LOCAL_IN钩子不能让你满意。