我正在Linux上编写一个Python程序,它将拦截从主机A到主机B的特定端口上的数据包。主机C将充当中间人所以所有流量都将通过主机C(ARP中毒方法)。我已经成功地写了截取的部分,所以我可以看到屏幕上的所有数据,但我希望另外修改数据包数据而不更改标题数据(当然cheksum将会改变)。我如何使用pcapy/impacket拦截数据包来实现这一点?
这可能有点模糊,但主要思想如下。
1.主机A向主机B发送“Hello”(主机A和B被arp欺骗,以使通信流经主机C)。
2.主机C从主机A获得'Hello'(默认情况下,主机C将'Hello'重定向到主机B,但我想要别的东西 - 参见第3点)
3.主机C将'Hello'再见'并将重定向(内核的ip_forward?)给主机B.
4.主机B得到'再见'。
也许有一种方法使用一些Linux机制来实现这一目标?现在我卡住了,我会很感激任何想法。使用pcapy/impacket更改数据包数据
2
A
回答
1
我更喜欢scapy这种应用程序。这是一个功能强大的Python软件包,允许您在协议栈的各个层捕获,操作和传输数据包。
有几种方法可以执行您的中间人攻击。我可能会使用带有捕获来自主机A的数据包的过滤器的“sniff”函数。然后,我会指定一个回调(通过“prn”参数)修改数据包,并使用“sendp”将数据包重新发送给主机B.请注意,scapy还包含一个内置的“arpcachepoison”函数。
相关问题
- 1. 如何用scapy更改数据包数据?
- 2. 更改数据
- 3. 更改数据
- 4. 根据JcomboBox更改JtextField使用数据库数据选择 - Java
- 5. 使用netfilter队列修改数据包?
- 6. 如何使用winpcap修改数据包
- 7. 更改TCP/IP数据包C++或java
- 8. 正在更改的SFML TCP数据包
- 9. 转发UDP数据包无ip更改
- 10. 数据表,更改AJAX数据(不包含元素)
- 11. 使用libpcap读取数据包数据
- 12. 禁用更改数据表
- 13. AlarmManager更改用户数据
- 14. 是否可以使用PcapSharp更改数据包IP?
- 15. 我可以更改DBD :: mysql使用的数据包大小吗?
- 16. 可以使用Wireshark更改数据包的内容
- 17. 更改Rails使用的sqlite3数据库中的数据
- 18. 使用VBA更改数据透视表数据源的错误
- 19. 无法使用数据()更改数据值;
- 20. 使用分层索引更改数据帧中的数据
- 21. 使用现有数据更改数据库编码
- 22. 更改数据表的数据类型使用十进制
- 23. 使用VBA更改数据透视表数据源
- 24. 如何使用LINQ更改数据表的数据布局
- 25. 使用jQuery数据更改图像基于json数据
- 26. 更改POST数据?
- 27. 更改QHeaderView数据
- 28. 元数据更改
- 29. Tkinter更改数据
- 30. 更改数据源