将嗅探到的数据包丢弃在匹配的内容上

库尔特·斯托勒(Kurt Stolle)

我使用rawsockets在C中制作了一个数据包嗅探器,该嗅探器嗅探了指定端口上的所有传出UDP流量。

现在,我想丢弃与某个有效负载匹配的某些传出UDP数据包,以便可以使用其他有效负载重新发送它们。

在这种情况下,嗅探器将不再有用,因为它似乎无法显示检测到的网络流量。

有没有办法在修改内核代码的情况下丢弃与Linux系统上某个有效负载和端口相匹配的数据包嗅探器对我的目标有用吗?

奈奇

方案1:创建TAP接口(如果原始接口是以太网或模拟接口),然后将网络地址移动到该接口。分析到达物理接口的数据包,然后,如果允许通过,则将其发送到此TAP接口的进程侧。反之亦然,网络堆栈发送到TAP接口的数据包是通过程序获取的,并注入到物理接口中。

方案2:使用子系统的NFQUEUE目标iptables所有满足规则条件的数据包都将传递到用户区域分析器进行检查,如果允许通过,则重新注入。从某种意义上讲,这是更好的选择,因为只有所有数据包中需要的子集才可以定向到您的过滤器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章