假设客户端 A 通过 TCP/IP 套接字连接到服务器 B 是否可以创建类似服务器的代理来执行此操作:
客户端 A 连接到代理 X;并尝试向服务器进行身份验证(发送身份验证数据);代理 X 接收这些数据并将它们发送到服务器 B,并从服务器 B 获取响应并将结果返回给客户端 A
是否可以?如果有任何可用的源代码?
假设客户端 A 通过 TCP/IP 套接字连接到服务器 B 是否可以创建类似服务器的代理来执行此操作:
客户端 A 连接到代理 X;并尝试向服务器进行身份验证(发送身份验证数据);代理 X 接收这些数据并将它们发送到服务器 B,并从服务器 B 获取响应并将结果返回给客户端 A
是否可以?如果有任何可用的源代码?
看起来你在描述SOCKS。
Mentalis.org在 C#中有一个ProxySocket的实现,还有一个代理服务器。
您可以使用 SSH 隧道来执行此操作。有各种第三方产品可以为您做到这一点。我建议不要自己重新实现它。
如果您可以控制代理,您只需更改代理上使用的身份验证模块即可针对服务器 B 进行身份验证。您必须注意一些安全问题以确保 X 和 B 都是真实的。您可以使用相互验证的 SSL 或签名消息来执行此操作。
这种身份验证被 ISP 广泛使用。他们正常使用的协议是RADIUS,
http://en.wikipedia.org/wiki/RADIUS
大多数代理服务器都有用于 RADIUS 的内置身份验证模块。
源可用的DeleGate可以设置一个“中继”,其中所有数据都从本地机器上的任意端口传递到某个任意主机:端口。(请参阅文档中的“tcprelay”命令)。