Wireshark簡介
Wireshark 是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。
Wireshark下載、安裝下載連結:
https://www.wireshark.org/#download
安裝與一般的PC機軟體安裝方式一樣,按預設方式安裝即可。
實驗框圖如:
其中tcp_client為RT-Thread Studio工程,使用RT-Thread Studio工具匯入之後,修改WiFi資訊與你電腦連線的WiFi一致:
編譯下載到小熊派開發板即可。
啟動Wireshark抓包工具,選擇無線網絡卡:
輸入過濾資訊ip.src == xxx.xxx.xxx.xxx or ip.dst == xxx.xxx.xxx.xxx,比如我這邊是ip.src == 192.168.1.3 or ip.dst == 192.168.1.3:
這樣就可以只保留這個IP收發資料,如果不設定過濾資訊則顯示出來的分組太多了,不便於我們進行分析。
啟動小熊派開發板串列埠終端及網路除錯助手,然後互相傳送資料:
此時Wireshark抓包工具抓取到了11條資料包:
通訊雙方只是互發一條字串資料而已,怎麼會產生11個數據包呢?這是TCP通訊所必須的,除了具體的資料包之外還包括了建立連線、斷開連線過程需要的一些資料。
我們都知道TCP是一個可靠的、面向連線的傳輸層協議它建立連線有三次握手的過程、斷開連線有四次揮手的過程:
示意圖:
通俗的理解:
具體的握手、揮手過程本篇筆記不再展開,可閱讀往期筆記。
我們先來看這11個數據包是怎麼劃分的。開啟Wireshark抓包工具的統計->流量圖:
下面,我們以第④個數據包來做具體的分析。在這之前我們先看一個圖:
從圖中我們可以看到,從上到下看,各層資料是新增該層頭部資訊組成新的資料包,從下到上相反。我們來看我們抓到的資料包:
選中相關資訊,最下面的具體的資料同步高亮顯示,如:
更具體的每個位元組是什麼,我們可以再展開: