問題描述:
在網絡程序開發的過程中,我們往往會把本機既作為客戶端又作為服務器端來調試代碼,使得本機自己和自己通信。但是wireshark此時是無法抓取到數據包的,需要通過簡單的設置才可以
方法一: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
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還是抓不到包。
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了。
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也是完全可以的。
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抓包,想抓本地回環包,使用文中方法一即可解決。