Python TCP堆栈实现

Dav*_*ill 8 python network-programming tcp network-protocols raw-sockets

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

我不能使用通常的python套接字库,因为我通过套接字接收数据包流(它们通过此套接字通过隧道连接到我).当我收到一个寻址到特定端口的TCP SYN数据包时,我想接受连接(发送一个syn-ack),然后获取另一端发送的数据(适当地确认).

我希望已经编写了某种TCP堆栈,我可以利用它.有任何想法吗?我过去曾经使用过lwip作为一个C项目 - 在python中沿着这些方向的东西是完美的.

Nic*_*ood 7

您没有说明您正在使用哪个平台,但如果您正在使用Linux,我会打开一个tun/tap接口并将IP数据包作为真正的网络接口返回内核,以便内核可以完成所有这些工作.棘手的TCP东西.

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

我认为现在还有一个用于Windows的tun/tap接口,它是为OpenVPN端口开发的.