Winsock / BSD套接字 - 接受目标IP与本地IP不同的TCP连接

时间:2016-11-19 03:29:59

标签: sockets proxy

我正在将一些传出的TCP流量(最终是UDP)转发到本地(透明)代理服务器,然后再将其发送到互联网上。看来这些数据包是正确的,我可以在Wireshark中看到SYN。

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

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

1 个答案:

答案 0 :(得分:3)

Linux套接字具有选项IP_TRANSPARENT。请参阅linux手册页ip:

  

IP_TRANSPARENT(自Linux 2.6.24起)

     

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

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