首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iptables和libpcap

iptables和libpcap
EN

Stack Overflow用户
提问于 2009-05-06 13:04:47
回答 3查看 4.6K关注 0票数 4

我设置了丢弃具有匹配字符串的udp/tcp数据包的规则。但是,我使用libpcap捕获数据包的程序仍然能够看到这个数据包。

为什么这是/,在libpcap看到之前丢弃数据包的iptable规则应该是什么?

除了iptables规则之外,是否有其他方法可以在libpcap/tcpdump看到此数据包之前将其丢弃?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-06 13:10:24

Yes, libpcap sees all the packets.。它们在被netfilter处理之前被捕获。

票数 9
EN

Stack Overflow用户

发布于 2016-06-06 00:08:29

您是否尝试更改您使用的netfilter钩子的优先级?如果您尝试以最高优先级挂钩传入数据包,它将在数据包套接字内核代码之前获取数据包,这是libpcap用来捕获数据包的方式。

我假设您使用的是 *

编辑: Libpcap根据操作系统使用不同的方式来捕获数据包。在linux上,它使用数据包套接字,这是使用netfilter框架在内核代码中实现的。

票数 0
EN

Stack Overflow用户

发布于 2009-06-03 04:55:10

libpcap没有办法在netfilter之前看到数据包,netfilter是一个内核模块,它在所有数据包进入用户模式之前处理它们,它甚至可以在内核看到它之前看到数据包。你能进一步解释一下吗?libpcap可能还会在netfilter上设置钩子,从而覆盖iptables中的钩子。真正的问题是,在netfilter上查找和设置钩子绝非易事,只能在内核模式下完成。调查libpcap如何获取数据包。

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/829455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档