前段時間看到群里在討論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語言的天氣客戶端的實現
最后
若覺得文章不錯,轉發分享、在看,也是我們繼續更新的動力。
在公眾號內回復更多資源,可免費獲取嵌入式資料。期待你的關注~
加好友,回暗號【嵌入式大雜燴】,進微信群
免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!