所以我正在编写这个程序,它使用 python 和套接字在互联网上交谈,但这不是问题。
问题是我希望测试该程序如何在现实的互联网环境中工作。
即:我的客户端连接到海上某处的代理,然后数据返回到我的路由器到我的另一台计算机。
所以我希望我的数据去海外,然后回来。
无论如何,这可以做到吗?或者这是不可能的?我试过使用代理服务器,但我一辈子都无法让它们工作!
不要为此目的在 ssh 中隧道传输您的流量。 TCP 中的隧道 TCP引入了延迟之外的问题。
您可以在远程机器上设置一个简单的 SSH 隧道:
ssh -N your-oversea-server.com -L 1234:your-other-computer.com:1234
然后,您的客户端可以连接到your-oversea-server.com:1234
并且流量将被重定向到your-other-computer.com:1234
.
在您的服务器上使用无 IP客户端(假设myserver.no-ip.com
)将您的服务器绑定到您的家庭路由器,0.0.0.0 port 80
并在您的家庭路由器上将您的服务器 lan ip 定义为 dmz。在另一台电脑上(可能位于另一个房间,在同一个局域网上)连接到myserver.no-ip.com
. 如果它在国外旅行,您可以使用 trace route: tracert myserver.no-ip.com
. 如果这无济于事,请在客户端计算机上使用代理。(大多数免费代理只允许端口 80 流量)
这取决于您正在编写的程序的类型,如果您只是希望您的程序连接到某个目标 ip 上同一程序的另一个实例。或者您正在编写服务器应用程序?如果是这样,什么客户端连接到该服务器?我不确定你是否需要使用代理,TCP 流量只会通过它需要到达它需要去的地方的路由器/交换机。
如果您可以详细说明您的问题,并指定您是否编写具有差异化客户端的服务器,或者只是一个既是客户端/服务器的桌面应用程序,那将很有帮助。