<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何用Wireshark捕獲USB數據?

如何用Wireshark捕獲USB數據?

作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò ) 收藏
現在越來(lái)越多的電子設備采用USB接口進(jìn)行通訊,通訊標準也在逐步提高。那么,我們就會(huì )好奇這些設備是如何工作的?而無(wú)論你是一個(gè)硬件黑客,業(yè)余愛(ài)好者或者只是對它有一點(diǎn)興趣的,USB對我們都是具有挑戰性的。

本文引用地址:http://dyxdggzs.com/article/201612/329234.htm

事實(shí)上通過(guò)wireshark,我們可以捕獲到usb設備發(fā)送給我們主機的數據,這樣就可以進(jìn)一步研究了。

本文中,我們將向大家介紹怎樣通過(guò)wireshark捕獲usb數據,使用的環(huán)境如下:

l Wireshark 2.0.1(SVN)l Linux kernel 4.1.6

你也可以用其他版本的wireshark,只要是1.2.0以上的都行。這里并沒(méi)有測試window上能不能行。

簡(jiǎn)介

在開(kāi)始前,我們先介紹一些USB的基礎知識。USB有不同的規格,以下是使用USB的三種方式:

l USB UART l USB HID l USB Memory

UART或者UniversalAsynchronousReceiver/Transmitter。這種方式下,設備只是簡(jiǎn)單的將USB用于接受和發(fā)射數據,除此之外就再沒(méi)有其他通訊功能了。

HID是人性化的接口。這一類(lèi)通訊適用于交互式,有這種功能的設備有:鍵盤(pán),鼠標,游戲手柄和數字顯示設備。

最后是USBMemory,或者說(shuō)是數據存儲。ExternalHDD,thumbdrive/flashdrive,等都是這一類(lèi)的。

其中使用的最廣的不是USBHID就是USBMemory了。

每一個(gè)USB設備(尤其是HID或者M(jìn)emory)都有一個(gè)供應商ID(VendorId)和產(chǎn)品識別碼(ProductId)。VendorId是用來(lái)標記哪個(gè)廠(chǎng)商生產(chǎn)了這個(gè)USB設備。ProductId用來(lái)標記不同的產(chǎn)品,他并不是一個(gè)特殊的數字,當然最好不同。如下圖:

上圖是連接在我電腦上的USB設備列表,通過(guò)lsusb查看命令。

例如說(shuō),我有一個(gè)無(wú)線(xiàn)鼠標Logitech。它是屬于HID設備。這個(gè)設備正常的運行,并且通過(guò)lsusb這個(gè)命令查看所有usb設備,現在大家能找出哪一條是這個(gè)鼠標嗎??沒(méi)有錯,就是第四個(gè),就是下面這條:

Bus003Device010:ID046d:c52fLogitech,Inc.UnifyingReceiver

其中,ID046d:c52f就是Vendor-ProductId對,VendorId的值是046d,并且ProductId的值是c52f。Bus003Device010代表usb設備正常連接,這點(diǎn)需要記下來(lái)。

準備

我們用root權限運行Wireshark捕獲USB數據流。但是通常來(lái)說(shuō)我們不建議這么做。我們需要給用戶(hù)足夠的權限來(lái)獲取linux中的usb數據流。我們可以用udev來(lái)達到我們的目的。我們需要創(chuàng )建一個(gè)用戶(hù)組usbmon,然后把我們的賬戶(hù)添加到這個(gè)組中。

addgroup usbmon gpasswd -a $USER usbmonecho SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640" > /etc/udev/rules.d/99-usbmon.rules

接下來(lái),我們需要usbmon內核模塊。如果該模塊沒(méi)有被加載,我們可以通過(guò)以下命令家在該模塊:

modprobe usbmon

捕獲

打開(kāi)wireshark,你會(huì )看到usbmonX其中X代表數字。下圖是我們本次的結果(我使用的是root):

如果接口處于活躍狀態(tài)或者有數據流經(jīng)過(guò)的時(shí)候,wireshark的界面就會(huì )把它以波形圖的方式顯示出來(lái)。那么,我們該選那個(gè)呢?沒(méi)有錯,就是我剛剛讓大家記下來(lái)的,這個(gè)X的數字就是對應這USBBus。在本文中是usbmon3。打開(kāi)他就可以觀(guān)察數據包了。



關(guān)鍵詞: Wireshark捕獲USB數

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>