我正在Linux上用Python编写一个小程序,它将拦截从主机A到主机B的特定端口上的数据包。主机C将充当中间人,因此所有流量都将通过主机C (arp中毒方法)。我已经成功地编写了截取的部分,所以我可以看到屏幕上的所有数据,但我想额外修改数据包数据,而不更改报头数据(当然,校验和将会更改)。如何使用截获的带有pcapy/impacket的数据包来实现此目的?
它可能有点模糊,但主要思想如下所示。
也许有一种方法可以使用一些linux机制来实现这一点?现在我被卡住了,如果有任何想法我会很感激。
发布于 2011-01-05 07:55:28
对于这类应用程序,我更喜欢使用scapy。它是一个功能强大的python包,允许您在协议栈的各个层捕获、操作和传输数据包。
有几种方法可以执行中间人攻击。我可能会将"sniff“函数与从主机A捕获数据包的过滤器一起使用。然后,我会指定一个回调(通过"prn”参数)来修改数据包,并使用"sendp“将其重新传输到主机B。请注意,scapy还包含一个内置的"arpcachepoison“函数。
https://stackoverflow.com/questions/4233744
复制相似问题