正如标题所说,我想使用现有的 tcp 连接发送数据。所述连接已经由第 3 方程序建立。我找不到太多关于此的信息,可以肯定地说,我根本不知道它是如何工作的。
操作系统是Windows。我首选的编程语言是 python - 我不想使用第 3 方 python 模块,但如果它们能让我的生活更轻松,我会使用。
只是澄清一下,以防您不确定我想做什么:我想发送数据,就好像它是由另一个程序发送的一样;很像 WPE pro的发送功能。
更新:
从技术上讲,我不能手动设计 TCP 数据包,然后告诉网络设备(或操作系统)发送该数据包吗?这与注入(inject)套接字所做的事情不完全一样吗?
编辑:维基百科说接收主机确认它收到的数据包,这使得这有点困难。但是如果可以在第 3 方程序收到之前丢弃该确认数据包,那么这应该可以工作。对吧?
最佳答案
Scapy/Pcapy是非常强大的工具,用于监视数据包并将其注入(inject)实时网络接口(interface)。我已经将它们用于几个项目。这些工具非常适合刺激/响应低级网络协议(protocol)(即 DHCP、DNS 等)以及通过简单 UDP 发送的任何非状态。
不幸的是,TCP 层非常复杂且有状态。因此,向流中注入(inject)有意义的东西会更加困难。此外,Scapy/Pcapy 目前没有 support for tcp .
关于python - 是否可以使用 Python 将数据包注入(inject)现有的 tcp 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273960/