如何在Python中以编程方式转发TCP连接?

2024-04-18 13:07:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想以编程方式将本地计算机上的传入TCP连接重定向到其他计算机,并有条件地将它们更改为其他计算机

例如,我想将端口9001上的传入连接转发到www.google.com:80,然后过一段时间后,我想关闭本地计算机上的9001,转而开始将9400上的传入连接转发到www.yahoo.com:80,或者可能同时运行两个转发规则。在

我最初以为我可以用iptables做这个,但我不确定。我还研究了TCP套接字代理,但是我对连接的内容不感兴趣,只是能够通过编程重定向和关闭它们。在


Tags: 端口comiptables代理内容规则www编程
1条回答
网友
1楼 · 发布于 2024-04-18 13:07:50

您可以使用sockets库创建到要与之通信的TCP端口的连接,并从套接字中连续读取,直到您有足够多的数据/已经读取了您想要的时间,类似于

conn_in  = socket.create_connection((from_host, from_port))
conn_out = socket.create_connection((to_host, to_port)) 
...
while time() - start_time < desired_time:
    buffer = conn_in.recv(4096)
    conn_out.send(buffer)

你可以把条件放在你认为合适的地方。这有帮助吗?在

相关问题 更多 >