将本地机器流量路由到网关

将本地机器流量路由到网关

我在本地机器上运行两个应用程序(一个客户端和一个服务器),我想通过 NetMon 监控它们的网络流量。

一种解决方案是通过默认网关路由本地流量。但是,我从来没有成功过。添加以下路由应该很简单:

net add <localip> MASK <mask> <defaultgatway> METRIC 1 IF 1

结果:

===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
      87.198.54.0    255.255.255.0      87.198.54.9     87.198.54.9       25
--->  87.198.54.0    255.255.255.0      87.198.54.1     87.198.54.9       1
      87.198.54.9  255.255.255.255        127.0.0.1       127.0.0.1       25
   87.255.255.255  255.255.255.255      87.198.54.9     87.198.54.9       25
Default Gateway:       87.198.54.1
===========================================================================

--->  87.198.54.0    255.255.255.0      87.198.54.1     87.198.54.9       1

因此,我期望该路由将所有到 87.198.54.9 的数据包路由到网关。但事实并非如此。

该方法在以下 Technet 幻灯片中进行了描述。所以我非常确定一定有办法实现这一点……

http://download.microsoft.com/download/2/F/3/2F3ABBCF-E3BD-4FC0-85CA-134763E7A129/2009-03-12_TechDays_TechNet_037.pptx

知道为什么该路线不起作用吗?

问题更加具体:

我在本地机器上运行 ping 命令到我的本地机器。

如何在 MS NetMon 中查看 ICMP 数据包?

谢谢,亚历克斯

答案1

在 Windows 上监控本地流量充其量,是不可靠的。您描述的方法不适用于发往 127.0.0.1 的流量。据我所知,没有简单的方法可以将该流量放入任何嗅探器中。

假设你要捕获基于 TCP 的协议,我会安装一个版本rinetd(Windows 二进制文件可从该链接获取)在远程计算机上配置监听相应端口,并将流量发送回您机器上的监听程序。然后流量将通过网络发送,您可以使用 NetMon 捕获它。

我曾多次使用这种“远程代理回到本地机器”技术,并取得巨大的成功。

答案2

问题出在路线上:

代替:

87.198.54.0 255.255.255.0 87.198.54.1 87.198.54.9 1

该路线应该是:

87.198.54.9 255.255.255.255 87.198.54.1 87.198.54.9 1

我仍然无法在网络监视器中看到 ping,但是可以看见 telnet 连接。

因此,当您不使用 127.0.0.1 时,此方法适用于 HTTP 流量

相关内容