2

假设客户端 A 通过 TCP/IP 套接字连接到服务器 B 是否可以创建类似服务器的代理来执行此操作:

客户端 A 连接到代理 X;并尝试向服务器进行身份验证(发送身份验证数据);代理 X 接收这些数据并将它们发送到服务器 B,并从服务器 B 获取响应并将结果返回给客户端 A

是否可以?如果有任何可用的源代码?

4

4 回答 4

5

看起来你在描述SOCKS

Mentalis.org在 C#中有一个ProxySocket的实现,还有一个代理服务器

于 2009-12-08T22:48:19.597 回答
0

您可以使用 SSH 隧道来执行此操作。有各种第三方产品可以为您做到这一点。我建议不要自己重新实现它。

于 2009-12-08T22:47:10.550 回答
0

如果您可以控制代理,您只需更改代理上使用的身份验证模块即可针对服务器 B 进行身份验证。您必须注意一些安全问题以确保 X 和 B 都是真实的。您可以使用相互验证的 SSL 或签名消息来执行此操作。

这种身份验证被 ISP 广泛使用。他们正常使用的协议是RADIUS,

http://en.wikipedia.org/wiki/RADIUS

大多数代理服务器都有用于 RADIUS 的内置身份验证模块。

于 2009-12-08T22:52:58.027 回答
0

源可用的DeleGate可以设置一个“中继”,其中所有数据都从本地机器上的任意端口传递到某个任意主机:端口。(请参阅文档中的“tcprelay”命令)。

于 2009-12-08T23:11:07.850 回答