Networking Netfilter_队列是否只提供控制数据包

Networking Netfilter_队列是否只提供控制数据包,networking,tcp,linux-kernel,netfilter,Networking,Tcp,Linux Kernel,Netfilter,我正在进行一个项目,以提供拦截能力 源于Linux机器和进入Linux机器的网络连接 在网络连接生命周期的不同阶段 这些阶段包括: 在进行出站网络连接之前-即当发送第一个SYN数据包时 在建立出站网络连接之后 就在连接终止之后 当建立入站连接时-即当从外部接收到第一个SYN数据包时 对于上述要求,我正在评估netfilter_队列以获得 用户空间中的数据包,然后决定是否 允许或丢弃数据包 我主要关心的是,一旦我完成了 netfilter_队列注册,我将开始获取所有数据包。但是 我只对控制数据包感

我正在进行一个项目,以提供拦截能力 源于Linux机器和进入Linux机器的网络连接 在网络连接生命周期的不同阶段

这些阶段包括:

  • 在进行出站网络连接之前-即当发送第一个SYN数据包时
  • 在建立出站网络连接之后
  • 就在连接终止之后
  • 当建立入站连接时-即当从外部接收到第一个SYN数据包时
  • 对于上述要求,我正在评估netfilter_队列以获得 用户空间中的数据包,然后决定是否 允许或丢弃数据包

    我主要关心的是,一旦我完成了 netfilter_队列注册,我将开始获取所有数据包。但是 我只对控制数据包感兴趣,不希望数据包丢失 发送到用户空间

    所以,我的问题是,有没有任何现有的方法来告诉 netfilter_队列内核模块只发送控制数据包而不发送控制数据包 数据包?还有,有没有可能得到关于 连接的建立和终止

    如果没有现成的方法来实现上述目标,那么它会成功吗 检测修改libnfnetfilter_队列和netfilter_队列内核模块 要根据配置模式集仅提供控制数据包, i、 e.引入NFQNL_COPY_CONTROL_数据包,用于仅复制控制 数据包到用户空间

    抱歉,如果我的问题看起来很幼稚,因为我仍在探索netfilter_队列

    我也在netfilter邮件列表上发布了相同的问题,但到目前为止没有得到回复:(

    谢谢你的帮助


    Gaurav

    您需要制定一个iptables规则来将某些数据包添加到队列中。您可以制定一个规则,只对您想要的数据包进行排队。例如:

    ip6tables -I INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j QUEUE
    

    --tcp标志
    选项在此页面上有说明:

    您需要制定一个iptables规则来将某些数据包添加到队列中。您可以制定一个仅对所需数据包进行排队的规则。例如:

    ip6tables -I INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j QUEUE
    
    --tcp标志
    选项在本页中介绍: