【问题标题】:Winsock / BSD Sockets - Accept TCP connections with destination IP different from local IPWinsock / BSD 套接字 - 接受目标 IP 与本地 IP 不同的 TCP 连接
【发布时间】:2016-11-19 15:11:45
【问题描述】:

我将 LAN 上的一些传出 TCP 流量(最终也是 UDP)转发到本地(透明)代理服务器,然后再将它们发送到 Internet。数据包似乎正确转发,我可以在 Wireshark 中看到 SYN。

问题在于,绑定到端口 X 的 accept() 不接受与目标端口 X 和目标 IP 的连接,这似乎与代理服务器自己的 IP 不同,这是我所期望的。

在 Winsock 或 Linux 套接字中有没有办法解决这个问题?我怎样才能实现 accept() 或类似的?

【问题讨论】:

    标签: sockets proxy


    【解决方案1】:

    Linux 套接字有IP_TRANSPARENT 选项。查看linux手册页ip:

    IP_TRANSPARENT(自 Linux 2.6.24 起)

    设置此布尔选项启用透明代理 这个插座。这个套接字选项允许调用 应用程序绑定到非本地 IP 地址并同时操作 作为客户端和服务器,外部地址为本地 端点。 ...

    据我所知,该选项不适用于 Windows 套接字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 2014-04-08
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2011-10-01
      • 2011-06-06
      相关资源
      最近更新 更多