1. 程式人生 > 實用技巧 >wireshark抓包工具的使用及分析

wireshark抓包工具的使用及分析

前段時間看到群裡在討論Wireshark抓包工具,想寫一篇使用筆記但一直沒來得及寫,本篇就通過例項來分享wireshark抓包工具的使用。

Wireshark簡介

Wireshark 是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。

Wireshark下載、安裝

下載連結:

https://www.wireshark.org/#download

官網下載速度較慢,在本公眾號聊天介面回覆關鍵字:Wireshark ,獲取網盤連結,若連結失效可聯絡我獲取。

安裝與一般的PC機軟體安裝方式一樣,按預設方式安裝即可。

Wireshark的使用

我們就藉助往期文章:C語言、嵌入式應用:TCP通訊例項分析的TCP通訊的demo來做演示。

實驗框圖如:

在本公眾號聊天介面回覆關鍵字:Wireshark,獲取本次試驗程式碼及工具:

其中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是一個可靠的、面向連線的傳輸層協議它建立連線有三次握手的過程、斷開連線有四次揮手的過程:

(圖片來源:野火《LWIP應用開發實戰指南》)

通俗的理解:

具體的握手、揮手過程本篇筆記不再展開,可閱讀:

【面試必考】TCP協議“三次握手”與“四次揮手”【socket筆記】TCP、UDP通訊總結

我們先來看這11個數據包是怎麼劃分的。開啟Wireshark抓包工具的統計->流量圖

下面,我們以第④個數據包來做具體的分析。在這之前我們先看一個圖:

(圖片來源:野火《LWIP應用開發實戰指南》)

從圖中我們可以看到,從上到下看,各層資料是新增該層頭部資訊組成新的資料包,從下到上相反。我們來看我們抓到的資料包:

選中相關資訊,最下面的具體的資料同步高亮顯示,如:

更具體的每個位元組是什麼,我們可以再展開:

至此,我們關於Wireshark抓包工具的基本使用就分享完了,知道了基本的使用及分析方法,我們就可以按照這樣的方法去分析其它協議了。以上分享如有錯誤,歡迎指出,謝謝!

推薦資料:

1、野火《LWIP應用開發實戰指南》

2、https://www.rt-thread.org/document/site/tutorial/qemu-network/wireshark/wireshark/

3、https://www.scaugreen.cn/posts/19508/

猜你喜歡

一些不可不知的計算機網路基礎

C語言、嵌入式應用:TCP通訊例項分析

【socket應用】基於C語言的天氣客戶端的實現

最後

若覺得文章不錯,轉發分享、在看,也是我們繼續更新的動力。

在公眾號內回覆更多資源,可免費獲取嵌入式資料。期待你的關注~

加好友,回暗號【嵌入式大雜燴】,進微信群