Python TCP 栈实现

标签 python tcp network-programming network-protocols raw-sockets

是否有实现独立 TCP 堆栈的 python 库?

我不能使用通常的 python 套接字库,因为我正在通过套接字接收数据包流(它们通过这个套接字通过隧道传送给我)。当我收到一个指向特定端口的 TCP SYN 数据包时,我想接受连接(发送同步确认),然后获取另一端发送的数据(适当确认)。

我希望已经有某种类型的 TCP 堆栈可供我使用。有任何想法吗?我过去曾将 lwip 用于 C 项目——在 python 中使用这些代码是完美的。

最佳答案

你没有说你在哪个平台上工作,但如果你在 linux 上工作,我会打开一个 tun/tap interface并将 IP 数据包作为真正的网络接口(interface)返回到内核中,这样内核就可以完成所有那些棘手的 TCP 工作。

这就是(例如)OpenVPN 的方式工作 - 它通过 UDP 或 TCP 接收原始 IP 数据包,并通过 tun/tap 接口(interface)将它们隧道回内核。

我认为现在也有一个用于 Windows 的 tun/tap 接口(interface),它是为 OpenVPN 端口开发的。

关于Python TCP 栈实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1581087/

相关文章:

network-programming - (mininet) 在一台主机上配置多个接口(interface)

python - 通过迭代替换 Pandas DataFrame 中的数组值

python - csv 数据操作以保持和比较每个类的大

c - 发送方缓冲区中未确认数据的 TCP 表示

java - Netty 服务器 - TCP 上的慢消费者

c - 在用 C 编写的代理服务器中处理图像

c - 如何在不堆叠旧数据的情况下接收UDP数据

Python交集出现顺序不一致

python - Django 设置默认表单值

.net - 加快 IIS/.NET/LINQ 从网络缓冲区检索数据的速度