一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【RT-Thread學習筆記】如何抓取終端的網(wǎng)絡報文

嵌入式物聯(lián)網(wǎng)開發(fā) ? 來源:嵌入式物聯(lián)網(wǎng)開發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開發(fā) ? 2022-07-30 13:57 ? 次閱讀

文章目錄

  • 1 寫在前面
  • 2 需求分析
  • 3 幾個方法
  • 4 原理分析
  • 5 方法實踐
    • 5.1 工具準備
    • 5.2 詳細步驟
  • 6 經(jīng)驗總結
  • 7 參考鏈接
  • 8 更多分享


作者:架構師李肯

一個專注于嵌入式IoT領域的架構師。有著近10年的嵌入式一線開發(fā)經(jīng)驗,深耕IoT領域多年,熟知IoT領域的業(yè)務發(fā)展,深度掌握IoT領域的相關技術棧,包括但不限于主流RTOS內核的實現(xiàn)及其移植、硬件驅動移植開發(fā)、網(wǎng)絡通訊協(xié)議開發(fā)、編譯構建原理及其實現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構、主流IoT云平臺的對接、嵌入式IoT系統(tǒng)的架構設計等等。擁有多項IoT領域的發(fā)明專利,熱衷于技術分享,有多年撰寫技術博客的經(jīng)驗積累,連續(xù)多月獲得RT-Thread官方技術社區(qū)原創(chuàng)技術博文優(yōu)秀獎,榮獲CSDN博客專家、CSDN物聯(lián)網(wǎng)領域優(yōu)質創(chuàng)作者、2021年度CSDN&RT-Thread技術社區(qū)之星、RT-Thread官方嵌入式開源社區(qū)認證專家、RT-Thread 2021年度論壇之星TOP4、華為云云享專家(嵌入式物聯(lián)網(wǎng)架構設計師)等榮譽。堅信【知識改變命運,技術改變世界】!


1 寫在前面

在平時工作中的網(wǎng)絡編程開發(fā),少不了要通過抓取網(wǎng)絡報文來分析網(wǎng)絡問題的應用場景。有的時候,你可能通過代碼排查得焦頭爛額,毫無頭緒,但是只要一把網(wǎng)絡報文拎出來一看,一下子思路就打開了。

但是,一個嵌入式設備要怎么才能抓取其網(wǎng)絡設備呢?

假如我們的這個嵌入式設備,跑的就是普通的 RTOS 系統(tǒng),不像嵌入式Linux系統(tǒng)那樣,還可以使用諸如 tcpdump 這種命令行工具來抓取網(wǎng)絡報文,他們可能連基本的DEBUG輸入都不一樣有,僅有一個輸出LOG的串口。

那么,面對這種嵌入式設備,我們能夠怎么抓取其網(wǎng)絡報文呢?

本文將為你揭曉答案,且文中描述的方法也是筆者多年調試網(wǎng)絡問題,一直在使用的方法,希望對大家有所幫助。

2 需求分析

回到問題本身,其實需求還是比較明確的,就是需要抓取一個嵌入式設備的網(wǎng)絡報文,且這個設備不具備命令行抓取的能力,只能使用外部設備輔助完成。

同時,這個嵌入式設備可能使用的是 以太網(wǎng)通訊、4G/5G等蜂窩網(wǎng)絡通訊、Wi-Fi通訊,針對這樣多樣化的通訊方式,是否能找出一種比較通用的抓包方式,滿足這幾種通訊方式下的抓包需求,這是我們所追求的。

3 幾個方法

本文先簡單介紹下,面對這種嵌入式設備的網(wǎng)絡抓包場景,可能使用到的幾種方法,但本文將會重點介紹其中的一種,其他的幾種,后面有空再另行整理。

  • 使用路由器、交互就鏡像抓包
  • 使用PC無線熱點捕獲抓包
  • 使用網(wǎng)絡代理(中轉服務器)抓包
  • 使用特殊工具抓無線空口數(shù)據(jù)包

以上幾種方法,各個各的優(yōu)勢,適用于不同的應用場景,靈活選用即可。

像我這邊目前碰到的應用場景,都是一些基于 Wi-Fi 通訊的終端設備,所以對我而言,采用第二種 PC無線熱點捕獲 抓包,就是一個最佳選擇。

4 原理分析

使用 PC無線熱點捕獲抓包 的這種方式,網(wǎng)絡拓撲圖如下所示:

在這里插入圖片描述

5 方法實踐

5.1 工具準備

如上面描述的抓包原理,你需要:

一臺具備網(wǎng)絡能力的PC主機:如果設備需要連公網(wǎng),這臺主機還需要具備公網(wǎng)連接的能力;

一個迷你的無線網(wǎng)卡:最簡單的就類似 360Wi-Fi 那種USB無線網(wǎng)卡;如果你準備的主機是一臺筆記本的話,則可以不需要額外準備外置的無線網(wǎng)卡;

Windows下的Wireshark抓包工具:強大的網(wǎng)絡報文抓取和分析工具;

若干終端設備:配置好終端設備,使其連接由PC發(fā)射處理的無線熱點。

5.2 詳細步驟

1)第一步自然把相關的工具準備好,相關的軟件安裝好

安裝wireshark可以參考 教程,最重要的是,記得把 WinPcapUSBPcap 安裝上:

imgimg

2)配置PC環(huán)境,把無線熱點給發(fā)射出來

這里如果是 筆記本自帶了無線網(wǎng)卡的,可以參考這個 教程 把無線熱點搞起來。

如果是臺式主機,需要外置無線網(wǎng)卡的,強力建議使用 360Wi-Fi,主要是廉價、便捷,應用這種抓包場景綽綽有余。

另外,它還有一個配套的上位機工具,長這樣,基本就可以一件傻瓜式地就可以把無線熱點給發(fā)射出來;同時,在上位機這還能看到當前有哪些設備正連著這個無線熱點,真的非常地方便。

image-20220726003951917

3)配置終端設備連接對應的無線熱點

上面的步驟完成后,終端設備就可以連接上對應的無線熱點了,這個時候理論上,終端就已經(jīng)借助PC的網(wǎng)絡能力,它自己也具備了對外連接網(wǎng)絡的能力。

4)操作Wireshark抓包工具

打開wireshakr軟件,在首頁會看到很多網(wǎng)卡設備,有無線的,也有有線的,這些有波浪線的表示當前有網(wǎng)絡數(shù)據(jù)在流動:

image-20220726004336727

但是,你可能會發(fā)現(xiàn)這里并沒有那個發(fā)射無線熱點的 網(wǎng)卡設備 (圖中的WLAN是我筆記本的內置無線網(wǎng)卡)。

我們可以查看下系統(tǒng) 網(wǎng)卡適配器:

image-20220726004554579

5)配置下無線網(wǎng)卡適配器【關鍵步驟】

這個時候我們需要去配置一下無線網(wǎng)卡適配器,找到對應的無線網(wǎng)卡:

右鍵 -》屬性,找到下面的這個選項,勾選上,最后確認:

image-20220726004806654

6)刷新wireshark的網(wǎng)卡設備列表

wireshark的主界面,再菜單欄找到【捕獲】-> 【刷新接口列表】,這個時候下面就會把無線網(wǎng)絡給顯示出來了:

image-20220726005013480

7)啟動wireshark抓包

雙擊對應的無線網(wǎng)卡設備,開始啟動抓包,同時在終端發(fā)起一些網(wǎng)絡交互,這時就可以看到wireshark中有網(wǎng)絡報文刷出來了。動態(tài)圖如下所示:

2022-07-27-23-40-35

8)wireshark的網(wǎng)絡報文過濾

這個操作需要知道終端側,在訪問哪個服務器,比如訪問百度網(wǎng)頁,我們需要先知道百度的IP是多少,然后利用wireshark的過濾規(guī)則,直接把這部分網(wǎng)絡報文給帥選出來。

比如我這里查到的百度域名解析出來的IP地址是:14.215.177.224,那么我就可以這么過濾抓包,動態(tài)圖如下:

2022-07-27-23-53-15

比如我要抓取TLS相關報文,我可以利用 端口號是443 這個特性來抓取報文:

2022-07-27-23-55-50

同時,你的終端設備要訪問其他服務器,也是可以用相同的操作原理把它抓出來。

9)實戰(zhàn)網(wǎng)絡報文分析

值得注意的是,我們這里抓取的報文可能是純TCP的,也可能是TLS的,使用wireshark的報文分析工具就可以分析出來了。

具體可以參考一些網(wǎng)絡報文分析教程,這里不再贅述。

6 經(jīng)驗總結

  • 抓包方法很多,適合自己的才是最好的;
  • 無論哪種抓包方法,能拿到有效的網(wǎng)絡報文就是王道,至少操作的便捷性,能用能知道;
  • wireshark分析網(wǎng)絡報文的能力很重要,幾個重要的基礎操作一定要非常熟練;
  • 分析網(wǎng)絡報文需要具備扎實的網(wǎng)絡基本功,必要的時候,好好補一補網(wǎng)絡報文的核心知識。

7 參考鏈接

  • Wireshark安裝教程
  • Win10系統(tǒng)創(chuàng)建WiFi熱點的兩種方法
  • WireShark使用教程
  • Wireshark常用過濾使用方法
  • 360隨身WiFi - 360WiFi官網(wǎng)

8 更多分享

歡迎關注我的github倉庫01workstation,日常分享一些開發(fā)筆記和項目實戰(zhàn),歡迎指正問題。

同時也非常歡迎關注我的CSDN主頁和專欄:

【CSDN主頁:架構師李肯】

【RT-Thread主頁:架構師李肯】

【C/C++語言編程專欄】

【GCC專欄】

【信息安全專欄】

【RT-Thread開發(fā)筆記】

freeRTOS開發(fā)筆記】

有問題的話,可以跟我討論,知無不答,謝謝大家。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5125

    文章

    19438

    瀏覽量

    313203
  • 網(wǎng)絡
    +關注

    關注

    14

    文章

    7713

    瀏覽量

    90162
  • RT-Thread
    +關注

    關注

    31

    文章

    1348

    瀏覽量

    41376
收藏 人收藏

    評論

    相關推薦

    RT-Thread學習筆記】使用scons命令生成靜態(tài)庫

    RT-Thread學習筆記】如何使用scons 命令中buildlib的生成靜態(tài)庫?
    的頭像 發(fā)表于 07-27 09:13 ?6634次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】使用scons命令生成靜態(tài)庫

    RT-Thread學習筆記】RISC-V匯編基礎三大塊知識

    RT-Thread學習筆記】RISC-V匯編基礎的三大塊知識
    的頭像 發(fā)表于 07-30 11:01 ?3024次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】RISC-V匯編基礎三大塊知識

    RT-Thread Nano入門學習筆記

    RT-Thread Nano入門學習筆記
    發(fā)表于 11-26 12:36 ?20次下載
    <b class='flag-5'>RT-Thread</b> Nano入門<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    RT-Thread 應用筆記 - RTC Alarm 組件的使用

    RT-Thread 應用筆記 - 不正確使用LOG也會引發(fā)hard faultRT-Thread 應用筆記 - RTC Alarm 組件的使用RT-
    發(fā)表于 01-25 18:18 ?10次下載
    <b class='flag-5'>RT-Thread</b> 應用<b class='flag-5'>筆記</b> - RTC Alarm 組件的使用

    RT-Thread 內核學習筆記 - 理解defunct僵尸線程

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:19 ?9次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 理解defunct僵尸線程

    RT-Thread 內核學習筆記 - 設備模型rt_device的理解

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:19 ?8次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 設備模型<b class='flag-5'>rt</b>_device的理解

    RT-Thread 內核學習筆記 - 內核對象鏈表結構深入理解

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:23 ?6次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 內核對象鏈表結構深入理解

    RT-Thread 內核學習筆記 - 內核對象初始化鏈表組織方式

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:24 ?3次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 內核對象初始化鏈表組織方式

    RT-Thread 內核學習筆記 - 內核對象操作API

    RT-Thread 內核學習筆記 - 內核對象rt_objectRT-Thread 內核學習筆記
    發(fā)表于 01-25 18:26 ?7次下載
    <b class='flag-5'>RT-Thread</b> 內核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 內核對象操作API

    RT-Thread學習筆記 --(6)RT-Thread線程間通信學習過程總結

    前兩篇文章總結了RT-Thread多線程以及多線程同步的學習過程,關于前兩篇學習總結,可以查看之前的文章。
    發(fā)表于 01-25 18:50 ?7次下載
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b> --(6)<b class='flag-5'>RT-Thread</b>線程間通信<b class='flag-5'>學習</b>過程總結

    RT-Thread學習筆記分享

    我是從2020年11月初開始學習RT-Thread實時操作系統(tǒng)的,在學習RT-Thread之前,我接觸過uCOS和FreeRTOS,但這兩個在單片機上應用的實時操作系統(tǒng),我都沒有仔細并
    的頭像 發(fā)表于 01-27 18:52 ?2373次閱讀

    RT-Thread學習筆記 RT-Thread的架構概述

    RT-Thread 簡介 作為一名 RTOS 的初學者,也許你對 RT-Thread 還比較陌生。然而,隨著你的深入接觸,你會逐漸發(fā)現(xiàn) RT-Thread 的魅力和它相較于其他同類型 RTOS
    的頭像 發(fā)表于 07-09 11:27 ?4831次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b> <b class='flag-5'>RT-Thread</b>的架構概述

    RT-Thread學習筆記】Makefile的FORCE

    RT-Thread學習筆記】十分鐘學會Makefile的FORCE
    的頭像 發(fā)表于 07-30 13:55 ?2969次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】Makefile的FORCE

    RT-Thread學習筆記】用memwatch排除內存泄露

    RT-Thread學習筆記】使用memwatch排除內存泄露
    的頭像 發(fā)表于 07-30 14:01 ?2707次閱讀
    【<b class='flag-5'>RT-Thread</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】用memwatch排除內存泄露

    基于RT-Thread Studio學習

    前期準備:從官網(wǎng)下載 RT-Thread Studio,弄個賬號登陸,開啟rt-thread學習之旅。
    的頭像 發(fā)表于 05-15 11:00 ?4797次閱讀
    基于<b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>學習</b>