Wireshark本地主机stream量捕获

我写了一个简单的服务器应用程序在C本地主机上运行。 如何使用Wireshark捕获本地stream量?

如果你使用的Windows 不可能 – 阅读下面。 你可以使用你的机器的本地地址,然后你就可以捕捉东西。 请参阅CaptureSetup / Loopback

简介:您可以捕获Linux上的环回接口,各种BSD(包括Mac OS X)以及Digital / Tru64 UNIX上的环回接口,并且您可以在Irix和AIX上执行此操作,但是您绝对无法在Solaris,HP -UX或Windows


编辑:大约3年后,这个答案不再是完全正确的。 链接的页面包含在回送接口上捕获的说明

在Windows平台上,也可以使用Wireshark捕获本地主机的stream量。 你需要做的是安装“微软环回适配器”,然后嗅它。

http://support.microsoft.com/kb/839013 

出于某种原因,以前的答案没有在我的情况下工作,所以我会发布一些伎俩。 有一个名为RawCap的小珠宝,可以捕获Windows上的本地主机stream量。 优点:

  • 只有17 kB!
  • 不需要外部库
  • 使用起来非常简单(只需启动它,select回送接口和目标文件即可)

stream量被捕获后,您可以打开它并正常检查Wireshark。 我发现唯一的缺点是你不能设置filter,即你必须捕获所有可能很重的本地stream量。 还有一个关于Windows XP SP 3的错误 。

几点build议:

  • Wireshark维基

我实际上没有尝试过,但是networking上的这个答案听起来很有希望:

由于windows TCP堆栈的性质,Wireshark在Windows XP上实际上不能捕获本地数据包。 当数据包在同一台机器上发送和接收时,它们似乎并不通过wireshark监控的networking边界。

然而,有一种解决办法,你可以通过你的Windows XP机器上的(临时)静态路由,通过你的网关(路由器)路由本地stream量。

假设你的XP的IP地址是192.168.0.2,你的网关(路由器)的地址是192.168.0.1,你可以在Windows XP命令行中运行以下命令,强制所有本地stream量通过networking边界出去,这样wireshark就可以跟踪数据(请注意,wireshark会在这种情况下报告两次数据包,一次当他们离开你的电脑,一次当他们返回)。

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087 ,刚刚访问。

请尝试Npcap: https : //github.com/nmap/npcap ,它基于WinPcap并支持在Windows上进行回环stream量捕获。 Npcap是Nmap的子项目( http://nmap.org/ ),所以请在Nmap的开发列表( http://seclists.org/nmap-dev/ )上报告任何问题。

对于Windows

Wireshark中,你不能捕获本地环回数据包,但是你可以使用一个非常微小而有用的程序RawCap ;

RawCap

命令提示符下运行RawCap并selectLoopback伪接口 (127.0.0.1),然后只写入数据包捕获文件的名称( .pcap

一个简单的演示如下:

 C:\Users\Levent\Desktop\rawcap>rawcap Interfaces: 0. 169.254.125.51 Local Area Connection* 12 Wireless80211 1. 192.168.2.254 Wi-Fi Wireless80211 2. 169.254.214.165 Ethernet Ethernet 3. 192.168.56.1 VirtualBox Host-Only Network Ethernet 4. 127.0.0.1 Loopback Pseudo-Interface 1 Loopback Select interface to sniff [default '0']: 4 Output path or filename [default 'dumpfile.pcap']: test.pcap Sniffing IP : 127.0.0.1 File : test.pcap Packets : 48^C 

您无法在Solaris,HP-UX或Windows上捕获回送,但通过使用像RawCap这样的工具,您可以非常轻松地解决此限制。

RawCap可以在包括127.0.0.1 (localhost / loopback)的任何ip上捕获原始数据包。 Rawcap也可以生成一个pcap文件。 您可以使用Wireshark打开并分析pcap文件。

有关如何使用RawCap和Wireshark监视本地主机的详细信息,请参阅此处 。

您可以通过让Wireshark立即读取RawCap的输出来查看回环stream量。 cmaynard 在Wireshark论坛中描述了这种巧妙的方法 。 我会在这里引用它:

如果您想要查看Wireshark中的实时stream量,您仍可以通过从一个命令行运行RawCap并从另一个命令行运行Wireshark来实现。 假设你有cygwin的尾巴可用,这可以使用类似这样的事情来完成:

cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap

cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -

它需要cygwin的尾巴,我无法find一种方法来与Windows的开箱即用工具做到这一点。 他的方法对我来说工作得非常好,并允许我在捕获的环回stream量上使用所有的Wireshark过滤function。

Interesting Posts