wireshark抓本地回环包

问题描述:windows

在网络程序开发的过程当中,咱们每每会把本机既做为客户端又做为服务器端来调试代码,使得本机本身和本身通讯。可是wireshark此时是没法抓取到数据包的,须要经过简单的设置才能够

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

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



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仍是抓不到包。

 

方法二:Wireshark+Npcap实现服务器

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也是彻底能够的。

 

注意事项:网络

可是Npcap安装后可能会影响电脑无线网卡没法正常使用,感叹号,提示链接不成功,即便是没有mac绑定的无线路由。卸载Npcap后就OK。因此建议Wireshark+WinPcap抓包,想抓本地回环包,使用文中方法一便可解决。
相关文章
相关标签/搜索