首页 文章

Wireshark localhost流量捕获[关闭]

提问于
浏览
106

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

9 回答

  • 46

    如果您使用的是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 .

  • 9

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

  • 3

    出于某种原因,以前的答案都不适用于我的情况,所以我会发布一些可以解决问题的方法 . 有一个名为RawCap的宝石可以在Windows上捕获本地主机流量 . 好处:

    • 只有17 kB!

    • 无需外部库

    • 非常简单易用(只需启动它,选择环回接口和目标文件即可)

    捕获流量后,您可以打开它并正常检查Wireshark . 我发现的唯一缺点是你不能设置过滤器,即你必须捕获所有可能很重的localhost流量 . 关于Windows XP SP 3,还有一个bug .

    几点建议:

  • 6

    我还没有尝试过这个,但网上的答案听起来很有希望:

    由于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,刚刚访问过 .

  • 4

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

  • 26

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

  • -1

    对于 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
    
  • 63

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

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

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

  • 47

    是的,您可以使用Npcap Loopback Adapter监控本地主机流量

相关问题