我正在寻找一种工具(在 linux 下),它允许我设置一个端到端代理,在一端的一个端口上接受多个同时的客户端,将数据转发到另一端的 连接然后“扩展”另一端的连接以连接回接受多个连接的服务。为了澄清,这是我想要实现的图表:
http://i.stack.imgur.com/rgTMd.png
(显然我需要超过 10 个代表才能将图像嵌入此页面)
如果您有兴趣,我尝试这样做的原因是因为我想构建一个系统,该系统可以更轻松地通过任意协议(protocol)进行隧道传输,只要该协议(protocol)支持某种方式从一端到另一端。我会把系统放在上图中的代理端 A 和代理端 B 之间。
这是我希望它如何工作的示例:
首先我将运行以下命令
mkfifo backpipe
nc -l 7778 0<backpipe | tee f1 | nc localhost 7777 | tee f2 >backpipe
“服务器代理”将在端口 7777 上运行。
应用程序将连接到的“客户端代理”将在端口 8080 上运行
客户端代理将连接到端口 7778
解决“服务器代理”和“客户端代理”
最佳答案
OpenSSH 已经通过 -D
选项支持这一点:
ssh -D <port> -l username remotehost
SOCKS 服务器将监听连接并将它们转发到 SSH 连接的另一端。
关于linux - 将并发客户端桥接到单个连接的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10022832/