wireshark抓本地回環包


問題描述:

在網絡程序開發的過程中,我們往往會把本機既作為客戶端又作為服務器端來調試代碼,使得本機自己和自己通信。但是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還是抓不到包。

 

方法二: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抓包,想抓本地回環包,使用文中方法一即可解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM