2

正如标题所说,我想使用现有的 tcp 连接发送数据。所述连接已经由第 3 方程序建立。我无法找到有关此的太多信息,并且可以肯定地说我根本不知道这将如何工作。

操作系统是Windows。我首选的编程语言是 python - 我不想使用 3rd 方 python 模块,但如果它们让我的生活更轻松,我会的。

澄清一下,如果您不确定我想做什么:我想发送数据,就好像它是由不同的程序发送的一样;很像WPE pro的发送功能。

更新:

从技术上讲,我不能手动设计 TCP 数据包,然后告诉网络设备(或操作系统)发送该数据包吗?那不是注入套接字会做的完全一样的事情吗?

编辑:维基百科说接收主机确认它收到的数据包,这使得这有点困难。但是如果可以在第 3 方程序接收到它之前丢弃该确认包,那么这应该可以工作。正确的?

4

2 回答 2

1

Scapy / Pcapy是非常强大的工具,用于监控并将数据包注入实时网络接口。我已经将它们用于多个项目。这些工具非常适合刺激/响应低级网络协议(即 DHCP、DNS 等)以及通过简单 UDP 发送的任何无状态信息。

不幸的是,TCP 层非常复杂且有状态。因此,将有意义的东西注入流中会更加困难。此外,Scapy/Pcapy 目前不支持 tcp

于 2012-11-07T16:59:30.937 回答
1

TCP 会话并非旨在成为多对一连接。它是一种点对点有状态协议,可跟踪已发送的数据包与另一端已接收的数据包。我不相信您可以将自己注入已经建立的会话中。如前所述,您最好的选择是创建代理并充当中间人闯入者。仍然不是一件微不足道的事情,而是可行的。

于 2012-11-07T17:26:13.943 回答