wireshark或IPAnalyse 抓取不到本地回路的數據包


用自己電腦同時做Server和Client,想用WireShark來抓包分析一下問題,卻抓取不到

原因分析

因為WireShark只能抓取經過電腦網卡的包,由於我是使用localhost或者127.0.0.1進行測試的,流量是不經過電腦網卡的,Windows TCP/IP下沒有本地回路的接口,所以不能用常用的windows抓包驅動獲取到。比如winpcap,而wireshark是基於winpcap的,所以抓取不到,下面是解決方法

 

方法一:

1 . 以管理員身份打開命令提示符

2 . 添加路由

輸入 route add 本機ip mask 255.255.255.255 網關ip 

如果不知道本機ip和網關ip,可以在命令行輸入ipconfig查看 
eg: 

route add 192.168.2.100 mask 255.255.255.255 192.168.2.1

(意思是:所有需要發往192.168.2.100 地址段的IP數據包,全部由 192.168.2.1 路徑轉發)

3. 將我們程序里面的localhost或者127.0.0.1替換成本機ip

4 . 使用WireShark即可抓到本地包

5 . 調試完成后刪除路由

使用route delete 本機ip mask 255.255.255.255 網關ip來刪除我們上面的更改,不然我們本機的所有報文都會先經過網卡再回到本機,會比較消耗性能。

eg:  

route delete 192.168.2.100 mask 255.255.255.255 192.168.2.1

 

方法二:

1.使用 別的抓包工具

比如 smsniff  可以選擇列 可以右鍵導出數據流等等

比如 RawCap 沒有用過

比如 WSExplorer 在.net控制台應用程序或者WInForm中比較合適,自己在測試一遍

 


免責聲明!

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



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