Wireshark本地主机流量捕获


117

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


3
年纪虽大,但出于一致性考虑,我仍然投票决定重新开放。这是一个有效的问题,恕我直言,范围很窄(具体问题为“ localhost”)
Marcel

Answers:


69

如果您使用Windows, 则不可能 -请阅读以下内容。您可以改为使用计算机的本地地址,然后就可以捕获东西。请参阅CaptureSetup / Loopback

简介:您可以在Linux,各种BSD(包括Mac OS X)和Digital / Tru64 UNIX的回送接口上进行捕获,也许可以在Irix和AIX上进行捕获,但是在Solaris,HP上绝对不能捕获-UX ...

尽管页面提到在单独使用Wireshark的Windows上无法做到这一点,但是您实际上可以使用其他答案中提到的解决方法将其记录下来。


编辑:3年后,此答案不再完全正确。链接的页面包含在回送界面上进行捕获的说明


feuGene的答案确实有效。
GWLlosa 2012年

@GWLlosa是的。您可以使用计算机的本地地址
cnicutar 2012年

7
我发现仅仅将自己的IP放入wireshark而不是环回是不够的。添加路线对于在我的情况下起作用是必要的。
GWLlosa 2012年

1
谢谢。在OS X上,回送接口为lo0。看来,选择en1或任何默认设置都行不通。
sudo 2014年

对于设置回送适配器,我发现此youtube视频很有用。youtube.com/watch?v=KsWICPPO_N8
developer747

51

由于某种原因,在我的情况下,以前的答案均无效,因此我将发布能够解决问题的方法。有一个名为RawCap的小工具,可以捕获Windows上的本地主机流量。优点:

  • 只有17 kB!
  • 无需外部库
  • 使用起来非常简单(只需启动它,选择回送接口和目标文件,仅此而已)

捕获流量后,您可以将其打开并在Wireshark中正常检查。我发现的唯一缺点是您无法设置过滤器,即必须捕获所有可能很繁重的localhost流量。关于Windows XP SP 3,还有一个错误

更多建议:


1
无需设置,非常简单。
vibhu

而且,您可以让Wireshark立即读取RawCap的输出,从而进行实时捕获。有关详细信息,请参见我的答案。
理查德·基弗

48

在Windows平台上,也可以使用Wireshark捕获本地主机流量。您需要做的是安装Microsoft回送适配器,然后对其进行嗅探。


ciphor,您成功做到了吗?这与nicututar的答案直接矛盾。
feuGene

是的,我已经成功完成了。
ciphor 2012年

如何?没有正常工作。
schlamar 2012年

18
我在Win 7上可以完全正常工作。设备管理器->添加旧版硬件->我将选择->网络-> Microsoft->回送适配器。安装完成后,使用您选择的IP地址对其进行配置。然后:重新安装wireshark,以便它将捕获驱动程序重新安装在新接口上-必须在将新接口添加到Windows,回送或真实接口时执行。
antiduh 2013年

4
遵循Win 7上的@antiduh说明,虽然我确实看到了一些netbios查询,但没有在本地主机上看到HTTP通信。
卡洛斯·雷登

26

我实际上还没有尝试过,但是从网络上得到的答案听起来很有希望:

由于Windows TCP堆栈的性质,Wireshark实际上无法在Windows XP上捕获本地数据包。在同一台计算机上发送和接收数据包时,它们似乎并没有越过wireshark监视的网络边界。

但是,有一种解决方法,可以通过在Windows XP计算机上设置(临时)静态路由,通过网络网关(路由器)路由本地通信。

假设您的XP IP地址为192.168.0.2,而网关(路由器)地址为192.168.0.1,则可以从Windows XP命令行运行以下命令,以强制所有本地流量通过网络边界传回,因此,wireshark可以跟踪数据(请注意,wireshark在这种情况下将报告数据包两次,一次是在离开您的PC时一次,一次是在返回时)。

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087,目前已访问。


6
我尝试了一下,发现效果很好。
GWLlosa 2012年

在win 7 32bit上
不起作用

11

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


Wireshark文档中的选项1Starting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
KCD,2016年

您可以从此处下载安装程序:nmap.org/npcap
Wayne Phipps,

2
很高兴知道NPcap在业务环境中有一些许可证限制。
JanSmrčina18年

10

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

[...]如果您想查看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过滤器功能。


3
对我来说,关键是要延迟启动第二个cmd命令,否则Wireshark无法读取.pcap文件。大概是因为开始时需要记录一些流量。
理查德·基弗

这应该是可以接受的答案(从git bash运行cmd2就足够了)
fider 18/12/20

4
更新:Netresec今天(2020年1月30日)宣布了RawCap的新版本,该版本现在支持写入管道或stdout。因此,从今天开始,上述提供的解决方案可以简化为以下内容,而无需tail进行以下操作: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k 您可以在以下位置的RawCap Redux公告页面上阅读有关RawCap新功能的更多信息:netresec.com/?
Christopher Maynard

8

对于Windows

您无法在Wireshark中捕获本地环回的数据包,但是可以使用一个很小但有用的程序RawCap

RawCap

命令提示符下运行RawCap并选择Loopback Pseudo-InterfaceLoopback 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

6

您无法在Solaris,HP-UX或Windows上捕获环回,但是可以通过使用RawCap之类的工具轻松解决此限制。

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

有关如何使用RawCap和Wireshark监视localhost的完整详细信息,请参见此处


2

是的,您可以使用Npcap回送适配器监视本地主机流量

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.