套接字代理服务器

时间:2009-12-08 22:42:51

标签: c# c++ proxy reverse-proxy sniffer

假设客户端A通过TCP / IP套接字连接到服务器B. 是否可以创建像Proxy这样的服务器来执行此操作:

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

有可能吗?如果有任何可用的源代码?

4 个答案:

答案 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)。