libpcap是得到数据包的副本还是实际的数据包?
通过复制,我的意思是:使用libpcap的应用程序获得数据包A,内核也获得数据包A。
实际上,我的意思是:只使用libpcap的应用程序获得包A,但是内核没有得到它。
发布于 2010-05-12 00:24:30
libpcap将不允许你做你想做的事。pcap的目标是透明地接收系统中每个数据包的副本。
您应该研究如何与系统中现有的防火墙进行互操作,或者如何将您自己的过滤器添加到netfilter系统(在Linux上)。
发布于 2010-05-12 00:21:46
内核将获得数据包,然后通过一个过滤器列表(例如,通常有一个用于IPsec的过滤器、一个防火墙等等),一旦它通过了所有这些过滤器,它就会将包传递给应用程序。libpcap是另一个过滤器,但它只是将包添加到内部数据库中进行处理,而不是检查数据包、修改或其他过滤器将做的任何事情。
对于您想要做的事情,最简单的解决方案是使用防火墙。
https://stackoverflow.com/questions/2815327
复制相似问题