【问题标题】:Socket Proxy Server套接字代理服务器
【发布时间】:2009-12-08 22:42:51
【问题描述】:

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

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

有可能吗?有没有源代码?

【问题讨论】:

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


    【解决方案1】:

    看起来你在描述SOCKS

    Mentalis.org 在 C# 中实现了 ProxySocketproxy server

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我需要自己实现它,因为我需要在它们之间嗅探一些数据包
      【解决方案3】:

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

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

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

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

      【讨论】:

        【解决方案4】:

        DeleGate,其源可用,可以设置一个“中继”,其中所有数据都从本地机器上的任意端口传递到任意主机:端口。 (见"tcprelay" command in the docs)。

        【讨论】: