如何用Wireshark捕獲USB資料?

2021-09-08 12:18:44 字數 2327 閱讀 6697

現在越來越多的電子裝置採用usb介面進行通訊,通訊標準也在逐步提高。那麼,我們就會好奇這些裝置是如何工作的?而無論你是乙個硬體黑客,業餘愛好者或者只是對它有一點興趣的,usb對我們都是具有挑戰性的。

事實上通過wireshark,我們可以捕獲到usb裝置傳送給我們主機的資料,這樣就可以進一步研究了。

l wireshark 2.0.1(svn) l linux kernel 4.1.6

你也可以用其他版本的wireshark,只要是1.2.0以上的都行。這裡並沒有測試window上能不能行。

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

l usb uart

l usb hid

l usb memory

uart或者universal asynchronous receiver/transmitter。這種方式下,裝置只是簡單的將usb用於接受和發射資料,除此之外就再沒有其他通訊功能了。

hid是人性化的介面。這一類通訊適用於互動式,有這種功能的裝置有:鍵盤,滑鼠,遊戲手柄和數字顯示裝置。

最後是usb memory,或者說是資料儲存。external hdd, thumb drive / flash drive,等都是這一類的。

其中使用的最廣的不是usb hid 就是usb memory了。

每乙個usb裝置(尤其是hid或者memory)都有乙個**商id(vendor id)和產品識別碼(product id)。vendor id是用來標記哪個廠商生產了這個usb裝置。product id用來標記不同的產品,他並不是乙個特殊的數字,當然最好不同。如下圖:

上圖是連線在我電腦上的usb裝置列表,通過lsusb檢視命令。

例如說,我有乙個無線滑鼠logitech。它是屬於hid裝置。這個裝置正常的執行,並且通過lsusb這個命令檢視所有usb裝置,現在大家能找出哪一條是這個滑鼠嗎??沒有錯,就是第四個,就是下面這條:

bus 003 device 010: id 046d:c52f logitech, inc. unifying receiver

其中,id 046d:c52f就是vendor-product id對,vendor id的值是046d,並且product id的值是c52f。bus 003 device 010代表usb裝置正常連線,這點需要記下來。

我們用root許可權執行wireshark捕獲usb資料流。但是通常來說我們不建議這麼做。我們需要給使用者足夠的許可權來獲取linux中的usb資料流。我們可以用udev來達到我們的目的。我們需要建立乙個使用者組usbmon,然後把我們的賬戶新增到這個組中。

addgroup usbmon

gpasswd -a $user usbmon

echo 'subsystem=="usbmon", group="usbmon", mode="640"' > /etc/udev/rules.d/99-usbmon.rules

接下來,我們需要usbmon核心模組。如果該模組沒有被載入,我們可以通過以下命令家在該模組:

modprobe usbmon

開啟wireshark,你會看到usbmonx其中x代表數字。下圖是我們本次的結果(我使用的是root):

如果介面處於活躍狀態或者有資料流經過的時候,wireshark的介面就會把它以波形圖的方式顯示出來。那麼,我們該選那個呢?沒有錯,就是我剛剛讓大家記下來的,這個x的數字就是對應這usb bus。在本文中是usbmon3。開啟他就可以觀察資料報了。

那麼我們獲取到了這些有什麼用呢?通過這些,我們可以了解到usb裝置與主機之間的通訊過程和工作原理,也許我們就可以把這些知識用到逆向工程中,得到一些東西。好了,就到這裡!!!

老王隔壁的白帽子

如何用Wireshark捕獲USB資料

現在越來越多的電子裝置採用usb介面進行通訊,通訊標準也在逐步提高。那麼,我們就會好奇這些裝置是如何工作的?而無論你是乙個硬體黑客,業餘愛好者或者只是對它有一點興趣的,usb對我們都是具有挑戰性的。事實上通過wireshark,我們可以捕獲到usb裝置傳送給我們主機的資料,這樣就可以進一步研究了。你...

wireshark 捕獲 802 11 問題

wireshark 捕獲 802.11 問題 我嘗試用 wireshark 捕獲 手機連線 wi fi 的 通訊資料,用膝上型電腦 macpro 連線了wifi,將網絡卡設定為監聽模式,並設定鏈路層頭為802.11 plus radiotap header 接著就進行監聽,同時讓手機連線wi fi,...

如何用U盤安裝Ubuntu

首先開啟ultraiso 軟碟通 載入要寫入u盤的 iso檔案 ubuntu10.04或者其他版本的 linux都可以 步驟 啟動光碟 寫入硬碟映像 開啟個寫入硬碟映像的視窗,硬碟驅動器那一項看清楚是你寫入的那個u 盤別搞錯了,寫入方式預設就可以 步驟 便捷啟動 寫入新的驅動器引導區 syslinu...