假设客户端A通过TCP / IP套接字连接到服务器B. 是否可以创建像Proxy这样的服务器来执行此操作:
客户端A连接到代理X;并尝试向服务器进行身份验证(发送身份验证数据);代理X接收这些数据并将它们发送到服务器B并从服务器B获取响应并将结果返回给客户端A
有可能吗?如果有任何可用的源代码?
答案 0 :(得分:4)
您似乎在描述SOCKS。
Mentalis.org在C#中实现了ProxySocket,还有proxy server。
答案 1 :(得分:0)
您可以使用SSH隧道执行此操作。有各种第三方产品可以为您做到这一点。我建议不要自己重新实现它。
答案 2 :(得分:0)
如果您可以控制代理,则只需更改代理上使用的身份验证模块即可对服务器B进行身份验证。您必须注意一些安全问题,以确保X和B都是可信的。您可以使用经过相互身份验证的SSL或签名邮件执行此操作。
这种认证被ISP广泛使用。他们正常使用的协议是RADIUS,
http://en.wikipedia.org/wiki/RADIUS
大多数代理服务器都有内置的RADIUS身份验证模块。
答案 3 :(得分:0)
DeleGate可以设置一个“中继”,其中所有数据都从本地计算机上的任意端口传递到某个任意主机:端口。 (见"tcprelay" command in the docs)。