我正在使用packet_mmap来捕获系统中的所有数据包,但似乎没有任何方法可以干扰操作系统的其余部分获取它们。我希望能够独占控制进入userland的数据包,并决定它们是进入系统中的其他应用程序,还是被丢弃,这样我就可以根据标准过滤数据包。
有什么方法可以做到这一点吗?我似乎找不到任何关于这个特定主题的文档。我想我想要的是能够从IP堆栈中删除所有传入的数据包,这样其他程序就不会获得它们,然后能够逐个数据包地重新插入数据包。
发布于 2013-06-13 07:27:41
你不能用PACKET套接字做你想做的事情--它们不是为那个目的而设计的。
相反,您需要使用libnetfilter_queue,以及将所有传入数据包定向到您的队列的iptables规则。
https://stackoverflow.com/questions/17075306
复制相似问题