本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注
USB軟件抓包分析工具之三:Wireshark-華山派華山劍法 (qq.com)
介紹
Wireshark是世界上最流行的網(wǎng)絡(luò)協(xié)議分析軟件,并且是一個(gè)免費(fèi)的、開源的工具。相信做過網(wǎng)絡(luò)開發(fā)的一定用過這個(gè)工具進(jìn)行過抓包分析。
借助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](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREfKAG4D4ACX2w5P37-k481.png)
以下信息USBPcap可以抓取:
- 控制傳輸:
SETUP階段只能抓取DATA,不能抓取SETUP和ACK
DATA階段:USBPcap包包含來自事務(wù)的DATA包的組合數(shù)據(jù)。
STATUS階段:與STATUS階段相關(guān)的USBPcap包不包含任何數(shù)據(jù)。
- 同步傳輸:
單個(gè)IRP通常攜帶多個(gè)等時(shí)數(shù)據(jù)包。每個(gè)同步數(shù)據(jù)包都包含來自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ù)包,包含來自屬于給定傳輸?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)。
以下一些信息不能通過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枚舉過程,只能看到USB控制傳輸發(fā)送到設(shè)備后,設(shè)備已分配其地址。
官網(wǎng)
安裝
![poYBAGRREfuARP_0ACmpKz86LpA789.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREfuARP_0ACmpKz86LpA789.png)
我這里下載的是Wireshark-win64-4.0.5.exe,直接雙擊打開,安裝
![pYYBAGRREgGAcN8HAC2eVZBtihA248.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREgGAcN8HAC2eVZBtihA248.png)
![poYBAGRREgeAQFe8AC2eVQ_YQjg991.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREgeAQFe8AC2eVQ_YQjg991.png)
![poYBAGRREg2AMoyRAC2eVdZEWLI689.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREg2AMoyRAC2eVdZEWLI689.png)
我們可以把所有選項(xiàng)都勾選
![pYYBAGRREhGAMwQkAC2eVaYtR9U158.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREhGAMwQkAC2eVaYtR9U158.png)
勾選安裝桌面圖標(biāo)和快速啟動(dòng)圖標(biāo)
![pYYBAGRREheAEVvUAC2eVQExeig054.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREheAEVvUAC2eVQExeig054.png)
指定安裝路徑
![poYBAGRREhuABjCHAC2eVZzMw34042.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREhuABjCHAC2eVZzMw34042.png)
![pYYBAGRREiCAdvtlAC2eVb2irRQ466.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREiCAdvtlAC2eVb2irRQ466.png)
注意這里勾選安裝USBPcap
![poYBAGRREiSAFhQcAC2eVXWKieE485.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREiSAFhQcAC2eVXWKieE485.png)
![poYBAGRREiiASEjAAC_7z5vIEnQ444.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREiiASEjAAC_7z5vIEnQ444.png)
![pYYBAGRREiyADMglAC_7zw0vcB0304.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREiyADMglAC_7zw0vcB0304.png)
![pYYBAGRREjKATedkAC_7z796DcA809.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREjKATedkAC_7z796DcA809.png)
![poYBAGRREjWAERWEAC_7z-LOKSg183.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREjWAERWEAC_7z-LOKSg183.png)
安裝USBPcap
![pYYBAGRREjqAF0KTAB5trHv1xyA877.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREjqAF0KTAB5trHv1xyA877.png)
![poYBAGRREj2AE1scAB5trGuETK8621.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREj2AE1scAB5trGuETK8621.png)
![poYBAGRREkGABBKyAB5trA-V0X0183.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREkGABBKyAB5trA-V0X0183.png)
![pYYBAGRREkWAXmHwAB5trENu3Jo081.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREkWAXmHwAB5trENu3Jo081.png)
![pYYBAGRREkmAUw9TAB5trIUP0aI428.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREkmAUw9TAB5trIUP0aI428.png)
![poYBAGRREk2AGUkgAC2eVdUrXNg070.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREk2AGUkgAC2eVdUrXNg070.png)
注意保存數(shù)據(jù)重啟
![pYYBAGRRElOAJB30AC2eVdyTAzw634.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRRElOAJB30AC2eVdyTAzw634.png)
使用
打開wireshark程序
一個(gè)USB根集線器會(huì)對(duì)應(yīng)一個(gè)USBPcap設(shè)備,如果沒有可能是安裝完后沒有重啟或者沒有安裝USBPcap。
![poYBAGRREliAGLMdACVVFZFSwx0112.png](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREliAGLMdACVVFZFSwx0112.png)
可以進(jìn)去安裝路徑D:Program FilesWiresharkextcap下命令行輸入.USBPcapCMD.exe查看每個(gè)根集線器掛載的設(shè)備
![pYYBAGRRElyAcaGmADdfPL7ybwU672.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRRElyAcaGmADdfPL7ybwU672.png)
設(shè)備過濾
我這里接入了一個(gè)UVC設(shè)備,可以看到對(duì)應(yīng)的是USBPcap2的端口2
![poYBAGRREmGAAZVyACg1msoxmxM979.png](https://file.elecfans.com/web2/M00/A2/95/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](https://file.elecfans.com/web2/M00/A2/95/poYBAGRREmaAN76WACkNVPubGiU668.png)
我們也可以使用usb.addr==2.6.3進(jìn)行過濾
點(diǎn)擊包可以顯示解析的信息和原始數(shù)據(jù)如下
![pYYBAGRREmuAd6DgACyi9TDYyEM734.png](https://file.elecfans.com/web2/M00/A3/15/pYYBAGRREmuAd6DgACyi9TDYyEM734.png)
文檔
USBPcap沒有完整的文檔,只能去官網(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)包。
審核編輯 黃宇
-
usb
+關(guān)注
關(guān)注
60文章
7981瀏覽量
266102 -
軟件
+關(guān)注
關(guān)注
69文章
5013瀏覽量
88083 -
Wireshark
+關(guān)注
關(guān)注
0文章
49瀏覽量
6552
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Wireshark抓包和Tcpdump抓包實(shí)例分析
wireshark抓包數(shù)據(jù)分析問題
如何使用WireShark進(jìn)行網(wǎng)絡(luò)抓包
使用wireshark抓包分析TCP及UDP的資料詳細(xì)說明
![使用<b class='flag-5'>wireshark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b><b class='flag-5'>分析</b>TCP及UDP的資料詳細(xì)說明](https://file.elecfans.com/web1/M00/BB/DA/o4YBAF62e5iAfbFOAAUEuB7LUjM459.png)
Wireshark數(shù)據(jù)抓包網(wǎng)絡(luò)協(xié)議的分析
![<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>](https://file.elecfans.com/web1/M00/CA/08/pIYBAF-DtQ-AO-kFAACAqDhp-pA933.png)
MCU_Wireshark USB 抓包過濾(抓特定端口地址)
![MCU_<b class='flag-5'>Wireshark</b> <b class='flag-5'>USB</b> <b class='flag-5'>抓</b><b class='flag-5'>包</b>過濾(<b class='flag-5'>抓</b>特定端口地址)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Wireshark從入門到精通之網(wǎng)絡(luò)抓包協(xié)議分析必備
網(wǎng)絡(luò)數(shù)據(jù)包分析軟件wireshark的基本使用
超詳細(xì)的WireShark抓包使用教程
![超詳細(xì)的<b class='flag-5'>WireShark</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>使用教程](https://file1.elecfans.com/web2/M00/89/3B/wKgZomR-iwKAEkBAAAAIRsl982A246.png)
評(píng)論