我正在将一些传出的TCP流量(最终是UDP)转发到本地(透明)代理服务器,然后再将其发送到互联网上。看来这些数据包是正确的,我可以在Wireshark中看到SYN。
问题是绑定到端口X的accept()不接受与目标端口X的连接以及与代理服务器自己的IP不同的目标IP,这是我所期望的。
在Winsock或Linux套接字中有没有办法解决这个问题?我怎样才能实现accept()或类似的?
答案 0 :(得分:3)
Linux套接字具有选项IP_TRANSPARENT
。请参阅linux手册页ip:
IP_TRANSPARENT(自Linux 2.6.24起)
设置此布尔选项可启用透明代理 这个插座。此套接字选项允许调用 应用程序绑定到非本地IP地址并操作它们 作为客户端和外部地址为本地的服务器 端点。 ...
据我所知,该选项不适用于Windows套接字。