首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pcapy/impacket更改数据包数据

使用pcapy/impacket更改数据包数据
EN

Stack Overflow用户
提问于 2010-11-21 00:35:17
回答 1查看 1.8K关注 0票数 2

我正在Linux上用Python编写一个小程序,它将拦截从主机A到主机B的特定端口上的数据包。主机C将充当中间人,因此所有流量都将通过主机C (arp中毒方法)。我已经成功地编写了截取的部分,所以我可以看到屏幕上的所有数据,但我想额外修改数据包数据,而不更改报头数据(当然,校验和将会更改)。如何使用截获的带有pcapy/impacket的数据包来实现此目的?

它可能有点模糊,但主要思想如下所示。

  1. 主机A向主机B发送“Hello”(主机A和B被arp欺骗,因此流量通过主机C)。
  2. 主机C从主机A获取“Hello”(默认情况下,主机C将“Hello”重定向到主机B,但我想要其他内容-参见第3点)
  3. 主机C将“Hello”修改为“Bye”并重定向(内核的ip_forward?)到主机B。
  4. 主机B得到“再见”。

也许有一种方法可以使用一些linux机制来实现这一点?现在我被卡住了,如果有任何想法我会很感激。

EN

回答 1

Stack Overflow用户

发布于 2011-01-05 07:55:28

对于这类应用程序,我更喜欢使用scapy。它是一个功能强大的python包,允许您在协议栈的各个层捕获、操作和传输数据包。

有几种方法可以执行中间人攻击。我可能会将"sniff“函数与从主机A捕获数据包的过滤器一起使用。然后,我会指定一个回调(通过"prn”参数)来修改数据包,并使用"sendp“将其重新传输到主机B。请注意,scapy还包含一个内置的"arpcachepoison“函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4233744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档