是否有可能有libpcap的删除包,因为它穿过,而不是只闻呢? 我想拦截的每个数据包,并将其封装到一个新的数据包与测量数据一起,但两个数据包(我和原来的)两个到达目的地。
Answer 1:
这是不可能的。 你需要写一个驱动程序(操作系统),以使网络栈过滤掉数据包。
Answer 2:
你可以做到这一点的唯一方法是通过被发送者和接收者之间的唯一物理路径和拦截器关闭包转发。
如果你捕获无线流量,有什么可以做的。 没有软件库可从周围空气中除去无线电波。
Answer 3:
不,libpcap的不能“删除包”。
这不是很清楚你想要达到的目标,但它看起来像你想接收数据,添加一些额外的信息给它,并重新发布它。 如果你是一个数据报协议,例如UDP的工作,那么你也许可以简单地扩充您的数据重新向不同的UDP端口。
Answer 4:
使用ARP缓存中毒等 - 为应对奔S,你不能关闭清除空气中的数据包,但你可以阻止他们到达目的地
Answer 5:
正如其他人所提到的,你不能使用libpcap的。 libpcap的是一种被动的倾听者。 如果你是在Linux上,你可以使用一个网络过滤器,其挂钩到iptables的。 这里是如何做到这一点的例子。
http://www.linuxjournal.com/article/7184
文章来源: Drop packet with libpcap