gpt4 book ai didi

python - 使用 pcapy/impacket 更改数据包数据

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:51 25 4
gpt4 key购买 nike

我正在 Linux 上用 Python 编写一个小程序,它将拦截从主机 A 到主机 B 的特定端口上通过线路传输的数据包。主机 C 将充当中间人,因此所有流量都将通过主机C(arp中毒法)。我已经成功编写了带有拦截的部分,因此我可以在屏幕上看到所有数据,但我还想在不更改 header 数据的情况下修改数据包数据(当然校验和将被更改)。我如何使用 pcapy/impacket 拦截的数据包来实现这一点?

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

也许有一种方法可以使用某些 linux 机制来实现这一目标?现在我被困住了,如果有任何想法,我将不胜感激。

最佳答案

我更喜欢 scapy对于这种应用。它是一个功能强大的 Python 包,可让您在协议(protocol)栈的各个层捕获、操作和传输数据包。

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

关于python - 使用 pcapy/impacket 更改数据包数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com