我在C中编写了一个简单的服务器应用程序,它运行在localhost上 . 如何使用Wireshark捕获localhost流量?
如果您使用的是Windows,则不可能 - 请阅读以下内容 . 您可以使用机器的本地地址,然后您就可以捕获内容 . 见 CaptureSetup/Loopback .
总结:您可以在Linux上的环回接口,各种BSD(包括Mac OS X)和Digital / Tru64 UNIX上捕获,您可以在Irix和AIX上进行捕获,但在Solaris上绝对不能这样做, HP-UX或Windows .
编辑:大约3年后,这个答案不再完全正确 . 链接的页面包含 instructions for capturing on the loopback interface .
在Windows平台上,还可以使用Wireshark捕获localhost流量 . 你需要做的是安装Microsoft loopback adapter,然后嗅探它 .
出于某种原因,以前的答案都不适用于我的情况,所以我会发布一些可以解决问题的方法 . 有一个名为RawCap的宝石可以在Windows上捕获本地主机流量 . 好处:
只有17 kB!
无需外部库
非常简单易用(只需启动它,选择环回接口和目标文件即可)
捕获流量后,您可以打开它并正常检查Wireshark . 我发现的唯一缺点是你不能设置过滤器,即你必须捕获所有可能很重的localhost流量 . 关于Windows XP SP 3,还有一个bug .
几点建议:
我还没有尝试过这个,但网上的答案听起来很有希望:
由于Windows TCP堆栈的性质,Wireshark实际上无法在Windows XP上捕获本地数据包 . 当数据包在同一台机器上发送和接收时,它们似乎不会越过wireshark监视的网络边界 . 但是有一种解决方法,您可以通过在Windows XP计算机上设置(临时)静态路由,通过网络网关(路由器)路由本地流量 . 假设您的XP IP地址是192.168.0.2并且您的网关(路由器)地址是192.168.0.1您可以从Windows XP命令行运行以下命令以强制所有本地流量通过网络边界输出和返回,因此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上的环回流量捕获 . Npcap是Nmap(http://nmap.org/)的子项目,因此请在Nmap的开发列表(http://seclists.org/nmap-dev/)上报告任何问题 .
您可以通过立即读取RawCap的输出来查看Wireshark中的环回流量 . cmaynard描述了这个巧妙的approach at the Wireshark forums . 我会在这里引用它:
[...]如果你想在Wireshark中查看实时流量,你仍然可以通过从一个命令行运行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的尾巴,而我无法通过Windows开箱即用的工具找到方法 . 他的方法对我来说非常好,并允许我在捕获的环回流量实时使用所有Wiresharks过滤功能 .
对于 Windows ,
您无法在 Wireshark 中捕获 Local Loopback 的数据包,但是,您可以使用一个非常小但很有用的程序 RawCap ;
RawCap
在 command prompt 上运行 RawCap 并选择 Loopback Pseudo-Interface (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可以在任何ip上捕获原始数据包,包括 127.0.0.1 (localhost / loopback) . Rawcap还可以生成 pcap 文件 . 您可以使用 Wireshark 打开并分析 pcap 文件 .
127.0.0.1
pcap
有关如何使用RawCap和Wireshark监视localhost的完整详细信息,请参阅here .
是的,您可以使用Npcap Loopback Adapter监控本地主机流量
9 回答
如果您使用的是Windows,则不可能 - 请阅读以下内容 . 您可以使用机器的本地地址,然后您就可以捕获内容 . 见 CaptureSetup/Loopback .
编辑:大约3年后,这个答案不再完全正确 . 链接的页面包含 instructions for capturing on the loopback interface .
在Windows平台上,还可以使用Wireshark捕获localhost流量 . 你需要做的是安装Microsoft loopback adapter,然后嗅探它 .
出于某种原因,以前的答案都不适用于我的情况,所以我会发布一些可以解决问题的方法 . 有一个名为RawCap的宝石可以在Windows上捕获本地主机流量 . 好处:
只有17 kB!
无需外部库
非常简单易用(只需启动它,选择环回接口和目标文件即可)
捕获流量后,您可以打开它并正常检查Wireshark . 我发现的唯一缺点是你不能设置过滤器,即你必须捕获所有可能很重的localhost流量 . 关于Windows XP SP 3,还有一个bug .
几点建议:
我还没有尝试过这个,但网上的答案听起来很有希望:
http://forums.whirlpool.net.au/archive/1037087,刚刚访问过 .
请尝试Npcap:https://github.com/nmap/npcap,它基于WinPcap并支持Windows上的环回流量捕获 . Npcap是Nmap(http://nmap.org/)的子项目,因此请在Nmap的开发列表(http://seclists.org/nmap-dev/)上报告任何问题 .
您可以通过立即读取RawCap的输出来查看Wireshark中的环回流量 . cmaynard描述了这个巧妙的approach at the Wireshark forums . 我会在这里引用它:
它需要cygwin的尾巴,而我无法通过Windows开箱即用的工具找到方法 . 他的方法对我来说非常好,并允许我在捕获的环回流量实时使用所有Wiresharks过滤功能 .
对于 Windows ,
您无法在 Wireshark 中捕获 Local Loopback 的数据包,但是,您可以使用一个非常小但很有用的程序 RawCap ;
RawCap
在 command prompt 上运行 RawCap 并选择 Loopback Pseudo-Interface (127.0.0.1)然后只需写入数据包捕获文件的名称( .pcap )
一个简单的演示如下;
您无法在Solaris,HP-UX或Windows上捕获环回,但是您可以使用 RawCap 之类的工具轻松解决此限制 .
RawCap可以在任何ip上捕获原始数据包,包括
127.0.0.1
(localhost / loopback) . Rawcap还可以生成pcap
文件 . 您可以使用 Wireshark 打开并分析pcap
文件 .有关如何使用RawCap和Wireshark监视localhost的完整详细信息,请参阅here .
是的,您可以使用Npcap Loopback Adapter监控本地主机流量