Wireshark localhost 流量捕获[关闭]

Posted

技术标签:

【中文标题】Wireshark localhost 流量捕获[关闭]【英文标题】:Wireshark localhost traffic capture [closed] 【发布时间】:2011-08-16 08:56:05 【问题描述】:

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

【问题讨论】:

【参考方案1】:

如果您使用的是 Windows 这是不可能的 - 请阅读下文。您可以改用机器的本地地址,然后您就可以捕获内容。请参阅 CaptureSetup/Loopback

总结:你可以在 Linux 上的环回接口,在 各种 BSD,包括 Mac OS X,以及 在 Digital/Tru64 UNIX 上,您可能 能够在 Irix 和 AIX 上执行此操作,但是 你肯定不能这样做 Solaris、HP-UX....

虽然该页面提到这在单独使用 Wireshark 的 Windows 上是不可能的,但您实际上可以使用different answer 中提到的解决方法记录它。


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

【讨论】:

feuGene 的回答确实有效。 @GWLlosa 是的。 您可以使用您机器的本地地址 我发现仅仅将自己的IP放入wireshark而不是loopback是不够的;添加路线对于它在我的情况下工作是必要的。 谢谢。在 OS X 上,环回接口是 lo0。似乎选择 en1 或任何默认值都行不通。 对于设置环回适配器,我发现这个 youtube 视频很有用。 youtube.com/watch?v=KsWICPPO_N8【参考方案2】:

由于某种原因,以前的答案都不适用于我的情况,所以我会发布一些可以解决问题的东西。有一个名为RawCap 的小宝石可以捕获Windows 上的本地主机流量。优点:

只有 17 kB! 无需外部库 使用极其简单(只需启动它,选择环回接口和目标文件即可)

流量捕获后,您可以在Wireshark中正常打开查看。我发现的唯一缺点是您无法设置过滤器,即您必须捕获所有可能很重的本地主机流量。还有一个关于 Windows XP SP 3 的bug。

更多建议:

Wireshark wiki

【讨论】:

无需设置,非常简单。 您可以让 Wireshark 立即读取 RawCap 的输出,为您提供实时捕获。详情见我的回答。【参考方案3】:

在 Windows 平台上,也可以使用 Wireshark 捕获 localhost 流量。 你需要做的是安装Microsoft loopback adapter,然后嗅探它。

【讨论】:

ciphor,你成功了吗?这与 cnicutar 的回答直接矛盾。 是的,我已经成功了。 怎么做?没有得到它的工作。 我让它在 Win 7 上同样工作。设备管理器 -> 添加旧硬件 -> 我会选择 -> 网络 -> Microsoft -> 环回适配器。安装后,使用您选择的 IP 地址对其进行配置。然后:重新安装wireshark,这样它就会在新界面上重新安装捕获驱动程序——这必须在您将新界面添加到windows、loopback或real时执行。 在 Win 7 上遵循 @antiduh 指令,虽然我确实看到了一些 netbios 查询,但我没有在 localhost 上看到 HTTP 流量。【参考方案4】:

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

Wireshark 实际上无法在 Windows XP 上捕获本地数据包,因为 Windows TCP 堆栈的性质。当数据包被发送和 在同一台机器上收到他们似乎没有跨网络 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,刚刚访问。

【讨论】:

我试过这个,发现效果很好。 在 win 7 32bit 上不起作用【参考方案5】:

您可以通过立即读取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 过滤器功能。

【讨论】:

对我来说,重要的部分是延迟启动第二个 cmd 命令,否则 Wireshark 无法读取 .pcap 文件。大概是因为开始时需要记录一些流量。 这应该是可以接受的答案(从 gi​​t bash 运行 cmd2 就足够了) 更新:Netresec 今天(2020 年 1 月 30 日)刚刚宣布了一个新版本的 RawCap,它现在支持写入管道或stdout。因此,从今天开始,上面提供的解决方案可以简化如下,不需要tailRawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k 您可以在此处的 RawCap Redux 公告页面上阅读有关新 RawCap 功能的更多信息:netresec.com/?page=Blog&month=2020-01&post=RawCap-Redux【参考方案6】:

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

【讨论】:

wireshark 文档中的选项 #1 Starting 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. 您可以从这里下载安装程序:nmap.org/npcap 很高兴知道 NPcap 在商业环境中使用有一些许可限制。【参考方案7】:

对于Windows

您无法在 Wireshark 中为 Local Loopback 捕获数据包,但是,您可以使用一个非常小但有用的程序,称为 RawCap

RawCap

命令提示符上运行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

【讨论】:

【参考方案8】:

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

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

有关如何使用 RawCap 和 Wireshark 监控 localhost 的完整详细信息,请参阅 here。

【讨论】:

【参考方案9】:

是的,您可以使用 Npcap Loopback Adapter 监控 localhost 流量

【讨论】:

以上是关于Wireshark localhost 流量捕获[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Wireshark 如何捕获网络流量数据包

当Android设备设置为AP时在wireshark上捕获手机流量

使用 usbpcap/wireshark 通过 GATT 流量解码捕获的 HID

如何用wireshark查看网络流量

如何捕获所有无线网络流量wireshark和wpa2?

Wireshark+Elasticsearch+Kibana打造流量回溯系统