1. 程式人生 > >wireshark與網路分析

wireshark與網路分析

首先感謝偉大程式設計師Ark Zhang提供這些乾貨資料,我只是稍為整理一下而已

網路程式除錯中最常用的工具就是wireshark,下面為如何通過抓包分析網路情況:

1.客戶端連結伺服器三次握手成功連結後,6秒後傳送5個位元組 HELLO資料後主動傳送FIN包斷開連結,正常的一次TCP通訊


2.客戶端異常斷開連結如下,伺服器則發出RST包通知,絕多大數情況客戶端再無發收到了,這類情況注意回收伺服器網路資源(閉關無效的套接字),以避免大量的連結處於close_wait的狀態,引用伺服器併發量下降


3.服務端主動斷開如下:


4.通過網路抓包判斷網路傳輸質量,當網路質量不佳情況如下圖,會發生多次重傳,或者重新連結(WIFI突然斷了),當重新連結的客戶端埠一般會發生變化


5.wireshark基本支援常見網路協議解析,輸入相應過濾條件進行鍼對性分析,過濾條件法則請參考:https://blog.csdn.net/wojiaopanpan/article/details/69944970

下圖過濾特定資料長度UDP組播的抓包:


6.在Linux系統,安卓(通過adb連結)、IOS移動端可以命令tcpdump抓包記錄cap檔案,然後把cap檔案用wireshark分析 ,如:

tcpdump -i eth1 -c 2000 -w eth1.cap

-i eth1 只抓eth1口的資料(網絡卡名字)

-c 2000代表資料包的個數,也就是隻抓2000個數據包

-w eth1.cap 儲存成cap檔案,方便用ethereal分析

tcpdump命令使用詳情請參閱:

https://blog.csdn.net/wzx19840423/article/details/50836761

但是移動端很有可能檔案有讀寫許可權限制,可以在pc上產生一個WIFI熱點,讓移動端連結該熱點,在pc用wireshark分析移動端網路互動資料

通過wireshark就是可以清楚看到源地址到目的地址網路互動狀態與網路質量情況,有的時候一直用的好好的程式碼與架構在某些複雜的網路環境不起作用,而是網路鏈路中有限制(路由,防火牆等原因)而導致通訊失敗。