PHP代理/数据包嗅探器问题 - 使用Windows路由时,数据包卡在SYN_SENT中

时间:2018-01-12 06:12:44

标签: php linux sockets networking proxy

为了帮助理解这个问题,首先想象一下普通家庭网络下的两台机器,以及互联网上的远程机器:

  • Windows 8计算机(我试图嗅探数据包)位于192.168.1.10

  • 运行Ubuntu Server 10.04的PHP数据包嗅探器(代理服务器/数据包嗅探器)位于192.168.1.20

  • 一台服务器上的随机远程机器,比如199.88.77.66

我使用带有套接字的PHP编写了一个代理/数据包嗅探器,该套接字侦听192.168.1.20,当流量直接发送到服务器时,即如果数据包的原始目的地是192.168.1.10 - >它可以很好地工作。 192.168.1.20,嗅探器能够建立连接并且工作正常。

但是,我想听的一些客户已经内置了#34;他们正在发送流量,例如,它会尝试连接远程机器199.88.77.66,以便尝试修复此问题,我使用以下命令创建了一个Windows路由:

路线ADD 199.88.0.0 MASK 255.255.0.0 192.168.1.20

基本上,这应该做的是将目的地为199.88。-.-的任何流量并将其路由到我的Packet Sniffer:

192.168.1.10 - > 199.88.77.66(GETS RE-ROUTED) - > 192.168.1.20

当我这样做时,我知道该命令正在运行,因为我正在使用Windows netstat命令,我可以看到尝试连接到199.88.77.66被路由到192.168.1.20,但是,此连接总是超时,并且它仍然处于以下状态:SYN_SENT。

基本上,当它是直接连接192.168.1.10 - >时,一切正常。 192.168.1.20

但是当我将Windows路由添加到" force"通过我的服务器的流量:192.168.1.10 - > 199.88.77.66(GETS RE-ROUTED) - > 192.168.1.20。

我的最终目标是让它如此运作:

192.168.1.10 - > 199.88.77.66(GETS RE-ROUTED) - > 192.168.1.20(COPIES PACKET) - > 199.88.77.66

0 个答案:

没有答案