在網絡程序開發的過程當中,咱們每每會把本機既做爲客戶端又做爲服務器端來調試代碼,使得本機本身和本身通訊。可是wireshark此時是沒法抓取到數據包的,須要經過簡單的設置才能夠
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仍是抓不到包。
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抓包,想抓本地迴環包,使用文中方法一便可解決。