我需要转储一些传入的数据包,然后阻止它们进入堆栈,这样应用程序就不会处理它们。
现在,tcpdump 在第 2 层工作,对吧?所以理想情况下,我应该找到一些我会在 tcpdump 丢弃选定数据包之后立即使用的工具。我在 tcpdump 和丢弃数据包时应用的过滤器将是相同的。
任何已经这样做的东西?
现在,tcpdump 在第 2 层工作,对吧?所以理想情况下,我应该找到一些我会在 tcpdump 丢弃选定数据包之后立即使用的工具。
Tcpdump 从链路层的网络捕获,是的。但是,在这种情况下,“捕获”意味着“被动地进入网络,获取所有接收和发送的数据包的副本”。它不会以允许它阻止这些数据包被网络堆栈处理的方式接入网络。可以将其想象为类似于敲击电话线——敲击电话的人可以听到对话,但他们无法阻止对话一侧的人听到另一侧的人在说什么。
任何已经这样做的东西?
可能有,但它用来这样做的机制可能会非常依赖于它运行的操作系统。您需要捕获正在运行的数据包的机器是什么操作系统。