python - 是否可以使用 Python 将数据包注入(inject)现有的 tcp 连接?

标签 python networking tcp packets

正如标题所说,我想使用现有的 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/

相关文章:

c - 在 C 中使用 fork() 和 TCP 连接进行设计

Python WebDriver 如何打印整页源码(html)

我可以在Linux中从C代码获取SSID和MAC地址吗?

docker - Kubernetes Pod上没有出站网络

networking - TCP 移动滞后

c# - 使用 IP 欺骗对 TCP 进行负载测试

python - 当我使用latin-1编码将utf8编码字符从pandas发送到mysql时,编码字符错误

python - SAWarning : Object of type <Child> not in session, 沿着 'Parent.children' 的添加操作将不会继续

python - 过滤列表的一部分?

networking - Visual studio 安装后 Genymotion 虚拟设备没有 IP 地址