<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

USB軟件抓包分析工具之三:Wireshark-華山派華山劍法

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-05-02 21:41 ? 次閱讀

本文轉自公眾號,歡迎關注

USB軟件抓包分析工具之三:Wireshark-華山派華山劍法 (qq.com)

介紹

Wireshark是世界上最流行的網絡協議分析軟件,并且是一個免費的、開源的工具。相信做過網絡開發的一定用過這個工具進行過抓包分析。

借助USBPcap還可以進行USB的抓包和分析,USBPcap參考:https://desowin.org/usbpcap/

USBPcap從I/O請求包(IRP)中攜帶的USB請求塊(URBs)中捕獲數據。Wireshark將報文以幀的形式呈現。USBPcap的數據包與USB規范的數據包不完全相同,Wireshark的幀與USB幀也不同。

由于USBPcap捕獲的是功能設備對象(FDO)和物理設備對象(PDO)之間傳遞的URBs,如下圖

pYYBAGRREfKAG4D4ACX2w5P37-k481.png

以下信息USBPcap可以抓取:

- 控制傳輸:

SETUP階段只能抓取DATA,不能抓取SETUP和ACK

DATA階段:USBPcap包包含來自事務的DATA包的組合數據。

STATUS階段:與STATUS階段相關的USBPcap包不包含任何數據。

- 同步傳輸:

單個IRP通常攜帶多個等時數據包。每個同步數據包都包含來自data數據包的數據。對于每個IRP都有兩個USBPcap包。第一個包含IRP從FDO到PDO時捕獲的數據,第二個包含從FDO到PDO的數據。在OUT傳輸的情況下,第一個USBPcap包包含完整的數據,第二個包包含有關事務完成狀態的信息。在In傳輸的情況下,第一個USBPcap包僅包含有關用于接收數據的分配緩沖區的信息,第二個包包含接收到的數據。

- 中斷傳輸:只能抓取DATA包,不能抓取IN,OUT和ACK。

- 批量傳輸:每次批量傳輸都會產生一個USBPcap數據包,包含來自屬于給定傳輸的所有事務的所有數據包的組合數據。

- 大容量存儲設備:每次與USB大容量存儲設備的數據交換都會產生三個USBPcap數據包,其中第一個包含命令,第二個包含數據,最后一個包含狀態。

以下一些信息不能通過USBPcap抓取:

- 總線狀態 (Suspended, Power ON, Power OFF, Reset, High Speed Detection Handshake)

- 包ID (PID)

- 拆分事務 (CSPLIT, SSPLIT)

- 總線狀態的持續時間和用于在線路上傳輸數據包的時間

- 傳輸速度 (Low Speed, Full Speed, High Speed)

另外也不能夠抓取完整的USB枚舉過程,只能看到USB控制傳輸發送到設備后,設備已分配其地址。

官網

https://www.wireshark.org/

安裝

從官網下載最新版

poYBAGRREfuARP_0ACmpKz86LpA789.png

我這里下載的是Wireshark-win64-4.0.5.exe,直接雙擊打開,安裝

pYYBAGRREgGAcN8HAC2eVZBtihA248.png

poYBAGRREgeAQFe8AC2eVQ_YQjg991.png

poYBAGRREg2AMoyRAC2eVdZEWLI689.png

我們可以把所有選項都勾選

pYYBAGRREhGAMwQkAC2eVaYtR9U158.png

勾選安裝桌面圖標和快速啟動圖標

pYYBAGRREheAEVvUAC2eVQExeig054.png

指定安裝路徑

poYBAGRREhuABjCHAC2eVZzMw34042.png

pYYBAGRREiCAdvtlAC2eVb2irRQ466.png

注意這里勾選安裝USBPcap

poYBAGRREiSAFhQcAC2eVXWKieE485.png

poYBAGRREiiASEjAAC_7z5vIEnQ444.png

pYYBAGRREiyADMglAC_7zw0vcB0304.png

pYYBAGRREjKATedkAC_7z796DcA809.png

poYBAGRREjWAERWEAC_7z-LOKSg183.png

安裝USBPcap

pYYBAGRREjqAF0KTAB5trHv1xyA877.png

poYBAGRREj2AE1scAB5trGuETK8621.png

poYBAGRREkGABBKyAB5trA-V0X0183.png

pYYBAGRREkWAXmHwAB5trENu3Jo081.png

pYYBAGRREkmAUw9TAB5trIUP0aI428.png

poYBAGRREk2AGUkgAC2eVdUrXNg070.png

注意保存數據重啟

pYYBAGRRElOAJB30AC2eVdyTAzw634.png

使用

打開wireshark程序

一個USB根集線器會對應一個USBPcap設備,如果沒有可能是安裝完后沒有重啟或者沒有安裝USBPcap。

poYBAGRREliAGLMdACVVFZFSwx0112.png

可以進去安裝路徑D:Program FilesWiresharkextcap下命令行輸入.USBPcapCMD.exe查看每個根集線器掛載的設備

pYYBAGRRElyAcaGmADdfPL7ybwU672.png

設備過濾

我這里接入了一個UVC設備,可以看到對應的是USBPcap2的端口2

poYBAGRREmGAAZVyACg1msoxmxM979.png

我們雙擊USBPcap2可以看到抓到了數據

其中2.6.3正好對應的是我們這個設備其中2對應PORT2 6對應USB設備地址為6,3對應端點3

poYBAGRREmaAN76WACkNVPubGiU668.png

我們也可以使用usb.addr==2.6.3進行過濾

點擊包可以顯示解析的信息和原始數據如下

pYYBAGRREmuAd6DgACyi9TDYyEM734.png

文檔

USBPcap沒有完整的文檔,只能去官網看一些相關的信息https://desowin.org/usbpcap/tour.html。Wireshark有完善的文檔可以參考https://www.wireshark.org/docs/。

https://www.wireshark.org/docs/wsdg_html_chunked/ChapterDissection.html

總結

Wireshark使用USBPcap抓包相對于Bus Hound的優點是有更詳細的協議解析,缺點是不能進行數據發送調試。

Wireshark雖然以以太網抓包聞名于江湖,尤其是其包分析能力,借助USBPcap其也在USB抓包領域也占有一席之地。好比“以氣為體、以劍為用”,以氣御劍,氣就是Wireshark強大的包解析能力,USBPcap就是劍,以USBPcap為劍即能抓取解析USBPcap,以NPcap,WinPcap為劍即能抓取分析以太網包。

審核編輯 黃宇

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

    關注

    59

    文章

    7473

    瀏覽量

    259194
  • 軟件
    +關注

    關注

    68

    文章

    4372

    瀏覽量

    85902
  • Wireshark
    +關注

    關注

    0

    文章

    46

    瀏覽量

    6454
收藏 人收藏

    評論

    相關推薦

    wireshark2——ubuntu系統下wireshark普通用戶設置

    權限 ) 4、將需要使用的普通用戶名加入wireshark用戶組,我的用戶是“dengyi”(需要根據具體用戶名修改?。?,則需要使用命令: sudo gpasswd -a dengyi wireshark 這樣就完成了,以普通用戶dengyi登陸打開
    發表于 01-08 10:19

    京微雅格 (Capital-Micro) - CME-M7(華山)開發板資料

    `CME-M7(華山)開發板資料感謝京微雅格提供大賽用開發板數據下載CME-M7(華山)集成了主流的ARM Cortex-M3內核和高性能FPGA。其中FPGA部分采用高達12K容量的新型LP
    發表于 05-04 14:38

    WIZnet芯片通訊時怎么?

    `Q:WIZnet芯片進行公網通訊或者芯片間通訊的話怎么?A:芯片和PC通訊的話可以直接通過Wireshark,如果芯片和公網直接通
    發表于 03-13 11:32

    加密后分析的問題?

    請問一下,我的zigbee設備全部都開啟了加密, 使用軟件的時候,數據都是加密的,我應該怎么解密
    發表于 06-01 14:22

    Hollong 藍牙4.0/4.1/4.2 BLE協議監控分析

    , LINUX, MAC 操作系統,方便在同一個電腦下工作;- 超便攜的尺寸,是在任何環境下工作的完美工具;- 同時對37,38,39個頻道進行監控,
    發表于 10-27 10:37

    Hollong藍牙4.0/4.1/4.2 BLE協議監控分析

    下工作;- 超便攜的尺寸,是在任何環境下工作的完美工具;- 同時對37,38,39個頻道進行監控,包成功率提高3倍;- 設置極其簡單
    發表于 11-09 09:29

    Hollong藍牙4.0/4.1/4.2 BLE協議監控分析

    , LINUX, MAC 操作系統,方便在同一個電腦下工作;- 超便攜的尺寸,是在任何環境下工作的完美工具;- 同時對37,38,39個頻道進行監控,
    發表于 11-13 10:08

    wireshark數據分析問題

    用網絡調試助手作為Tcp Server給STM32F429發送數據,每次傳輸完21845bytes后,就出現問題。用WireShark的數據有些不太理解。上圖為用串口調試助手調試后的信息,每次傳輸到21846bytes就接收
    發表于 04-08 04:35

    請問wireshark很慢,一兩秒才抓到一個,要怎么設置呢?

    wireshark安裝在virtual的ubuntu里,WIFI模塊發出來的TCP,WIFI模塊每15ms會發一個1000Byte的TCP,但是
    發表于 08-06 08:00

    如何使用WireShark進行網絡

      如何使用WireShark進行網絡:準備工作、wireshark 主界面介紹、封包列表介紹
    發表于 04-02 07:05

    如何去使用Wireshark工具

    Wireshark是什么?怎樣去安裝一種Wireshark工具?如何去使用Wireshark
    發表于 09-17 06:31

    空口方式和wireshank分析工具使用介紹

    主要介紹下最近使用中感覺很萬能的空口方式和wireshank分析工具使用;目的:抓取各種設備網絡通信過程中數據,定位并
    發表于 01-18 09:11

    MCU_Wireshark USB的過程是怎樣的?

    MCU_Wireshark USB的過程是怎樣的?
    發表于 02-11 07:38

    LabVIEW數據文件格式之華山論劍

    LabVIEW數據文件格式之華山論劍Labview介紹
    發表于 11-20 14:04 ?7次下載

    wireshark是什么軟件 wireshark安裝教程

    使電工用來測量進入電信 的電量的電度表一樣。(當然比那個更高級) 過去的此類工具要么是過于昂貴,要么是屬于某人私有,或者是二者兼顧。 Wireshark 出現以后,這種現狀得以改變。 Wireshark 可能算得上是今天能
    發表于 09-13 16:26 ?0次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>