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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

嵌入式USB開(kāi)發(fā) ? 來(lái)源:嵌入式USB開(kāi)發(fā) ? 作者:嵌入式USB開(kāi)發(fā) ? 2023-05-02 21:41 ? 次閱讀

本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注

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

介紹

Wireshark是世界上最流行的網(wǎng)絡(luò)協(xié)議分析軟件,并且是一個(gè)免費(fèi)的、開(kāi)源的工具。相信做過(guò)網(wǎng)絡(luò)開(kāi)發(fā)的一定用過(guò)這個(gè)工具進(jìn)行過(guò)抓包分析。

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

USBPcap從I/O請(qǐng)求包(IRP)中攜帶的USB請(qǐng)求塊(URBs)中捕獲數(shù)據(jù)。Wireshark將報(bào)文以幀的形式呈現(xiàn)。USBPcap的數(shù)據(jù)包與USB規(guī)范的數(shù)據(jù)包不完全相同,Wireshark的幀與USB幀也不同。

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

pYYBAGRREfKAG4D4ACX2w5P37-k481.png

以下信息USBPcap可以抓取:

- 控制傳輸:

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

DATA階段:USBPcap包包含來(lái)自事務(wù)的DATA包的組合數(shù)據(jù)。

STATUS階段:與STATUS階段相關(guān)的USBPcap包不包含任何數(shù)據(jù)。

- 同步傳輸:

單個(gè)IRP通常攜帶多個(gè)等時(shí)數(shù)據(jù)包。每個(gè)同步數(shù)據(jù)包都包含來(lái)自data數(shù)據(jù)包的數(shù)據(jù)。對(duì)于每個(gè)IRP都有兩個(gè)USBPcap包。第一個(gè)包含IRP從FDO到PDO時(shí)捕獲的數(shù)據(jù),第二個(gè)包含從FDO到PDO的數(shù)據(jù)。在OUT傳輸?shù)那闆r下,第一個(gè)USBPcap包包含完整的數(shù)據(jù),第二個(gè)包包含有關(guān)事務(wù)完成狀態(tài)的信息。在In傳輸?shù)那闆r下,第一個(gè)USBPcap包僅包含有關(guān)用于接收數(shù)據(jù)的分配緩沖區(qū)的信息,第二個(gè)包包含接收到的數(shù)據(jù)。

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

- 批量傳輸:每次批量傳輸都會(huì)產(chǎn)生一個(gè)USBPcap數(shù)據(jù)包,包含來(lái)自屬于給定傳輸?shù)乃惺聞?wù)的所有數(shù)據(jù)包的組合數(shù)據(jù)。

- 大容量存儲(chǔ)設(shè)備:每次與USB大容量存儲(chǔ)設(shè)備的數(shù)據(jù)交換都會(huì)產(chǎn)生三個(gè)USBPcap數(shù)據(jù)包,其中第一個(gè)包含命令,第二個(gè)包含數(shù)據(jù),最后一個(gè)包含狀態(tài)。

以下一些信息不能通過(guò)USBPcap抓取:

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

- 包ID (PID)

- 拆分事務(wù) (CSPLIT, SSPLIT)

- 總線狀態(tài)的持續(xù)時(shí)間和用于在線路上傳輸數(shù)據(jù)包的時(shí)間

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

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

官網(wǎng)

https://www.wireshark.org/

安裝

從官網(wǎng)下載最新版

poYBAGRREfuARP_0ACmpKz86LpA789.png

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

pYYBAGRREgGAcN8HAC2eVZBtihA248.png

poYBAGRREgeAQFe8AC2eVQ_YQjg991.png

poYBAGRREg2AMoyRAC2eVdZEWLI689.png

我們可以把所有選項(xiàng)都勾選

pYYBAGRREhGAMwQkAC2eVaYtR9U158.png

勾選安裝桌面圖標(biāo)和快速啟動(dòng)圖標(biāo)

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

注意保存數(shù)據(jù)重啟

pYYBAGRRElOAJB30AC2eVdyTAzw634.png

使用

打開(kāi)wireshark程序

一個(gè)USB根集線器會(huì)對(duì)應(yīng)一個(gè)USBPcap設(shè)備,如果沒(méi)有可能是安裝完后沒(méi)有重啟或者沒(méi)有安裝USBPcap。

poYBAGRREliAGLMdACVVFZFSwx0112.png

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

pYYBAGRRElyAcaGmADdfPL7ybwU672.png

設(shè)備過(guò)濾

我這里接入了一個(gè)UVC設(shè)備,可以看到對(duì)應(yīng)的是USBPcap2的端口2

poYBAGRREmGAAZVyACg1msoxmxM979.png

我們雙擊USBPcap2可以看到抓到了數(shù)據(jù)

其中2.6.3正好對(duì)應(yīng)的是我們這個(gè)設(shè)備其中2對(duì)應(yīng)PORT2 6對(duì)應(yīng)USB設(shè)備地址為6,3對(duì)應(yīng)端點(diǎn)3

poYBAGRREmaAN76WACkNVPubGiU668.png

我們也可以使用usb.addr==2.6.3進(jìn)行過(guò)濾

點(diǎn)擊包可以顯示解析的信息和原始數(shù)據(jù)如下

pYYBAGRREmuAd6DgACyi9TDYyEM734.png

文檔

USBPcap沒(méi)有完整的文檔,只能去官網(wǎng)看一些相關(guān)的信息https://desowin.org/usbpcap/tour.html。Wireshark有完善的文檔可以參考https://www.wireshark.org/docs/。

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

總結(jié)

Wireshark使用USBPcap抓包相對(duì)于Bus Hound的優(yōu)點(diǎn)是有更詳細(xì)的協(xié)議解析,缺點(diǎn)是不能進(jìn)行數(shù)據(jù)發(fā)送調(diào)試。

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

審核編輯 黃宇

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

    關(guān)注

    60

    文章

    7876

    瀏覽量

    263697
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4699

    瀏覽量

    87088
  • Wireshark
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    6489
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Wireshark和Tcpdump實(shí)例分析

    wireshark是開(kāi)源軟件,可以放心使用??梢赃\(yùn)行在Windows和Mac OS上。對(duì)應(yīng)的,linux下的工具是 tcpdump。使用wire
    的頭像 發(fā)表于 02-01 09:31 ?2969次閱讀

    USB軟件分析工具之一:Bus Hound逍遙北冥神功

    本文介紹Bus Hound在USB分析上的應(yīng)用。
    的頭像 發(fā)表于 04-27 09:56 ?2.3w次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>軟件</b><b class='flag-5'>抓</b><b class='flag-5'>包</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>之一:Bus Hound逍遙<b class='flag-5'>派</b>北冥神功

    wireshark數(shù)據(jù)分析問(wèn)題

    用網(wǎng)絡(luò)調(diào)試助手作為T(mén)cp Server給STM32F429發(fā)送數(shù)據(jù),每次傳輸完21845bytes后,就出現(xiàn)問(wèn)題。用WireShark的數(shù)據(jù)有些不太理解。上圖為用串口調(diào)試助手調(diào)試后的信息,每次傳輸?shù)?1846bytes就接收
    發(fā)表于 04-08 04:35

    如何使用WireShark進(jìn)行網(wǎng)絡(luò)

      如何使用WireShark進(jìn)行網(wǎng)絡(luò):準(zhǔn)備工作、wireshark 主界面介紹、封包列表介紹
    發(fā)表于 04-02 07:05

    如何去使用Wireshark工具

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

    MCU_Wireshark USB的過(guò)程是怎樣的?

    MCU_Wireshark USB的過(guò)程是怎樣的?
    發(fā)表于 02-11 07:38

    使用wireshark分析TCP及UDP的資料詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用wireshark分析TCP及UDP的資料詳細(xì)說(shuō)明。
    發(fā)表于 05-09 17:36 ?27次下載
    使用<b class='flag-5'>wireshark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b><b class='flag-5'>分析</b>TCP及UDP的資料詳細(xì)說(shuō)明

    Wireshark數(shù)據(jù)網(wǎng)絡(luò)協(xié)議的分析

    Wireshark 是目前最受歡迎的工具。它可以運(yùn)行在 Windows、Linux 及 MAC OS X 操作系統(tǒng)中,并提供了友好的圖形界面。同時(shí),Wireshark 提供功能強(qiáng)大
    發(fā)表于 10-12 08:00 ?1次下載
    <b class='flag-5'>Wireshark</b>數(shù)據(jù)<b class='flag-5'>抓</b><b class='flag-5'>包</b>網(wǎng)絡(luò)協(xié)議的<b class='flag-5'>分析</b>

    USB數(shù)據(jù)軟件程序下載

    USB數(shù)據(jù)軟件程序下載
    發(fā)表于 09-09 16:01 ?9次下載

    MCU_Wireshark USB 過(guò)濾(特定端口地址)

    啟動(dòng)WiresharkUSB的過(guò)程如下,這里點(diǎn)擊“開(kāi)始”就可以進(jìn)入界面了。不過(guò),Wireshark啟動(dòng)
    發(fā)表于 12-08 16:36 ?14次下載
    MCU_<b class='flag-5'>Wireshark</b> <b class='flag-5'>USB</b> <b class='flag-5'>抓</b><b class='flag-5'>包</b>過(guò)濾(<b class='flag-5'>抓</b>特定端口地址)

    Wireshark從入門(mén)到精通之網(wǎng)絡(luò)協(xié)議分析必備

    Wireshark從入門(mén)到精通之網(wǎng)絡(luò)協(xié)議分析必備
    發(fā)表于 01-18 13:53 ?9次下載

    網(wǎng)絡(luò)數(shù)據(jù)分析軟件wireshark的基本使用

    Wireshark(前稱(chēng)Ethereal)是一個(gè)網(wǎng)絡(luò)數(shù)據(jù)分析軟件。網(wǎng)絡(luò)數(shù)據(jù)分析
    的頭像 發(fā)表于 09-29 14:48 ?2975次閱讀

    超詳細(xì)的WireShark使用教程

    Wireshark是非常流行的網(wǎng)絡(luò)封包分析軟件,可以截取各種網(wǎng)絡(luò)數(shù)據(jù),并顯示數(shù)據(jù)詳細(xì)信息。
    的頭像 發(fā)表于 06-06 09:22 ?6342次閱讀
    超詳細(xì)的<b class='flag-5'>WireShark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>使用教程

    如何利用eNSP進(jìn)行實(shí)驗(yàn)?

    使用Wireshark工具進(jìn)行ping,并分析報(bào)文
    的頭像 發(fā)表于 09-12 09:32 ?4007次閱讀
    如何利用eNSP進(jìn)行<b class='flag-5'>抓</b><b class='flag-5'>包</b>實(shí)驗(yàn)?

    五大可替代Wireshark工具

    Wireshark是非常流行的網(wǎng)卡軟件,具有強(qiáng)大的功能。它可以截取各種網(wǎng)絡(luò)數(shù)據(jù)
    的頭像 發(fā)表于 09-27 09:57 ?4560次閱讀
    五大可替代<b class='flag-5'>Wireshark</b>的<b class='flag-5'>抓</b>包<b class='flag-5'>工具</b>