回环接口抓包设置

2009-04-29

这是一篇翻译的文章,原文在http://wiki.wireshark.org/CaptureSetup/Loopback

下面的部分解释了如何在回环接口上抓包。

如果你准备抓取一台机器到自己的报文,则这个报文将不会经过实际的网络适配器,即使报文是发往这台机器上的某个网络适配器地址。这也意味着当你抓包的时候是看不到报文的,如在含有指定目的地址的网络适配器上操作。而你只能在回环接口上抓包,如果存在这样一个接口并且允许抓包的情况下。在下一节中将看到可以支持回环接口抓包的平台信息。

支持的平台

看看CaptureSetup/NetworkMedia来了解Wireshark所支持的平台。总结一句话:可以在Linux、类BSD包括Mac OS X、Digital/Tru64 Unix上抓取回环接口报文,可能能在Irix和AIX上使用,而在Solaris、HP-UX、Windows下则不能抓取回环接口报文。

Windows

IP127.0.0.1

You can't capture on the local loopback address127.0.0.1!

你不能在回环接口地址127.0.0.1上抓包!

IP Other

其他IP

你可以增加一个虚拟网络适配器设备叫做Microsoft Loopback Adapter,但是大部分时间不会得到想要的结果。

这个网络适配器可以通过下面的方法安装(Windows 2003/ XP / 2000):

...需要注意是,这里的回环接口和大部分UN*X系统中的表现是不一样的。这个适配器是一个可以增加的虚拟网卡设备,但是它不是工作在127.0.0.1 IP地址上的,而是有着自己的IP地址。另外,你只能在系统中增加一个回环接口设备。

注意:在此回环接口上抓包需要 WinPcap 3.1,3.1beta版本都不行。

我们假设你已经将此回环接口地址设置为10.0.0.10,并且正在此接口上抓包。如果你ping这个10.0.0.10地址并在此接口上抓包,在Wireshark中还是看不到任何的流量(和127.0.0.1问题是一样的)。如果你ping 10.0.0.11地址,因为没有这个远程主机,所以得不到任何的ping响应,但是你可以在Wireshark中看到相应的ARP请求。

UlfLamping:到现在为止我看到这样做的唯一好处是和colinux(或者其他的PC虚拟软件)一起使用,用来抓取Windows和虚拟机之间的报文。

mitra:如何在Windows XP上抓取Microsoft回环接口的流量报文:

1. 打开Microsoft回环接口的属性,设置IP为10.0.0.10,掩码为255.255.255.02. 使用ipconfig /all 然后查看新网络适配器的 MAC-ID

3. arp -s 10.0.0.10<MAC-ID>4. route add 10.0.0.10 10.0.0.10 mask 255.255.255.255

5. 测试: "telnet 10.0.0.10"

ScottVermillion:现在我是用回环接口来抓取到Dyanmips/Dynagen虚拟路由网络的流量。我将在后面一段时间来测试这个游泳的特性/工具。事实是这样,我可以连接回环接口和虚拟路由接口来抓取ping、arp等报文。以后我希望将连接服务器的回环接口到虚拟路由,然后抓取在Dynamips/Dynagen虚拟网络中的所有类型报文。

saran:怎样获取Microsoft回环接口网络适配器的属性?在“全部网络接口”中右键选择“属性”即可。

另外的选择

一种叫CommView(TamoSoft公司出品)的商业网络抓包软件可以来抓取回环接口的报文,但是它只能解析比较少的协议,所以可以通过CommView来抓包并保存到文件中,并在Wireshark中打开。

另外一种可选的方法是在你的机器上增加一个通过到网关的路由:

route add<your_IP> mask 255.255.255.255 <the_gateway> metric 1

这里的<your_IP>是和127.0.0.1不同的。应该是ipconfig命令结果中的IP地址域。<the_gateway>则需要是ipconfig /all命令结果中的默认网关域。

这样做之后,所有发往本机的网络流量都会使用物理网络接口,将会到达网关,然后回到主机上。因此,每个报文都会看到两次,而这在视图中可以通过过滤器来解决。

需要注意的是,由于你的机器将使用真实的网卡来和自己通信,所以有可能造成网络的过载。在完成测试后最好是删除这条路由:

route delete<your_IP>

相关推荐