wireshark抓本地回环包

本文介绍如何使用Wireshark结合WinPcap或Npcap,在Windows系统中抓取本地回环网络流量,包括通过routeadd命令配置本地流量转发,以及使用Npcap替换WinPcap以支持localhost和127.0.0.1流量抓取的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:Wireshark+WinPcap+route add实现

1.以管理员身份运行cmd

2.route add 本机ip mask 255.255.255.255 网关ip

如:route add 192.168.1.70 mask 255.255.255.255 192.168.1.1

!!!!!!此方法 会导致 与 外部 一些计算机的 通信乱掉,外面ping本机不通。原因可能是网关路由表乱了。

3.此时再利用wireshark进行抓包便可以抓到本机自己同自己的通信包,这样配置的原因是将发往本机的包发送到网关,而此时wireshark可以捕获到网卡驱动的报文实现抓包。

4.使用完毕后用route delete 172.16.51.115 mask 255.255.255.255 172.16.1.1删除,否则所有本机报文都经过网卡出去走一圈回来很耗性能。

注意这样有一个缺点,那就是本地请求的URL的IP只能写本地的IP地址,不能写localhost或127.0.0.1,写localhost或127.0.0.1还是抓不到包。

以下未测:

===========================================

windows系统没有提供本地回环网络的接口,用wireshark监控网络的话只能看到经过网卡的流量,看不到访问localhost的流量,因为wireshark在windows系统上默认使用的是WinPcap来抓包的,现在可以用Npcap来替换掉WinPcap,Npcap是基于WinPcap 4.1.3开发的,api兼容WinPcap。

1.下载安装包

Npcap项目主页,它采用的是MIT开源协议,Npcap下载

2.安装

安装时要勾选 Use DLT_NULL protocol sa Loopback … 和 install npcap in winpcap api-compat mode,如下所示。

如果你已经安装了wireshark, 安装前请先卸载WinPcap;当然,如果还没有安装wireshark安装,安装wireshark不要安装WinPcap了。
使用winpcap安装目录下自带的uninstall.exe卸载
查找winpcap的关键模块,手动删除

32位系统winpcap关键模块
  C:\Windows\system32\wpcap.dll
  C:\Windows\system32\Packet.dll
  C:\Windows\system32\WanPacket.dll
  C:\Windows\system32\pthreadVC.dll
  C:\Windows\system32\drivers\npf.sys

64位系统winpcap关键模块:
  C:\Windows\SysWOW64\wpcap.dll
  C:\Windows\SysWOW64\Packet.dll
  C:\Windows\SysWOW64\WanPacket.dll
  C:\Windows\SysWOW64\pthreadVC.dll
  C:\Windows\System32\drivers\npf.sys

3.安装完成启动wireshark, 可以看到在网络接口列表中,多了一项Npcap Loopback adapter,这个就是来抓本地回环包的网络接口了。

它不仅可以抓URL是localhost的,也可以是127.0.0.1,当然,抓本机IP也是完全可以的。

### 使用Wireshark捕获本地网络流量 #### 配置环境以支持回环数据捕捉 由于默认情况下,Wireshark无法直接获取本机产生的发往自身的数据(即回环数据),因为这些数据不经过物理网卡而是通过操作系统内部处理完成传输过程。为了能够监视这类通信,需依据所使用的平台采取特定措施[^1]。 对于Linux系统而言,通常已经内置了对lo(loopback)接口的支持,可以直接启动Wireshark并选择`lo`作为监听目标来进行监控工作;而在Windows平台上,则可能需要安装额外驱动程序如WinPcap/Npcap来实现这一目的,并且有时还需要调整系统的路由表使得原本应该走回路的数据改道至实际存在的网络适配器上流动以便于被捕获工具识别[^2]。 #### 设置Wireshark进行本地流量监测 一旦完成了上述必要的前期准备工作之后: - 启动Wireshark应用程序。 - 在界面中找到并点击“Capture(捕获)”菜单下的“Options...”,这会弹出一个新的窗口用于配置具体的捕捉参数。 - 如果是在Windows环境中操作并且想要确保能接收到所有的来回程通讯记录,记得勾选显示出来的每一个可用的网络连接设备选项——即使某些时候看起来像是未被激活的状态也无妨[^3]。 另外值得注意的是,在Mac OS X以及部分较新的Unix-like系统版本里,可以通过指定使用BPF Berkeley Packet Filter机制的方式增强效率与兼容性表现[^4]。 #### 应用过滤条件聚焦所需信息 当准备就绪可以开始收集日志文件之前,建议先设定好恰当的捕获筛选表达式,这样有助于减少不必要的冗余条目数量从而提高后续分析的速度和准确性。比如针对TCP/IP协议栈内的HTTP请求响应交换活动,就可以输入类似于`tcp port http or tcp port https`这样的语句[^5]。 ```bash # 示例:仅保留来自或去往localhost (IPv4: 127.0.0.1 或 IPv6: ::1) 的所有IP层及以上层次的数据报文 host 127.0.0.1 or host ::1 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值