$34 USB嗅探器教學:用Wireshark捕捉滑鼠移動同鍵盤按鍵
USB 偵測器教學:用 Wireshark 捕捉滑鼠移動同鍵盤按鍵
喺呢個項目入面,我哋探討點樣用 USB 偵測器裝置去監控同分析電腦同常見輸入裝置(好似滑鼠同鍵盤)之間嘅 USB 通訊。透過將 USB 偵測器串聯喺 USB 裝置同電腦之間,所有經過嘅 USB 封包都可以即時被捕捉同用 Wireshark 分析。
呢個教學示範咗滑鼠移動、按鈕點擊,甚至鍵盤按鍵(包括密碼)點樣可以喺 USB 協定層面被觀察到。呢個項目係為咗教育目的,用嚟了解 USB 人機介面裝置(HID)內部點樣運作,同埋點解實體安全同軟件安全一樣咁重要。

咩係 USB 偵測器?
USB 偵測器係一個硬件裝置,放喺 USB 周邊裝置(好似滑鼠或鍵盤)同主機電腦之間。佢會透明咁傳遞數據,令到裝置正常運作,同時透過另一個獨立嘅監控介面捕捉同暴露 USB 數據封包。
喺呢個項目入面,USB 偵測器扮演一個穿透式裝置嘅角色:
- USB 滑鼠或鍵盤連接去偵測器
- 偵測器連接去電腦
- 偵測器另一個獨立 USB 連接去一部運行 Wireshark 嘅監控電腦
所有喺裝置同電腦之間經過嘅 USB 流量都可以被捕捉同解碼,而唔會影響正常運作 :contentReference[oaicite:0]{index=0}。

主要使用嘅組件
USB 偵測器硬件
呢個項目用嘅 USB 偵測器係基於 Alex Tarasov 設計嘅 FPGA 方案。完整設計包括韌體、PCB 檔案同軟件工具。呢度用嘅商用裝置已經預載咗韌體,所以使用前唔需要刷寫或配置。
內部嚟講,偵測器會截取 USB 差動數據線,並將封包鏡像到另一個獨立嘅 USB 介面,等 Wireshark 可以監控。
滑鼠同鍵盤(USB HID 裝置)
滑鼠同鍵盤都係 USB 人機介面裝置(HID)。呢啲裝置會定期向主機電腦發送報告,描述佢哋嘅狀態:
- 滑鼠:按鈕狀態、X 移動、Y 移動
- 鍵盤:修飾鍵同按鍵掃描碼
呢啲報告係以明文、未加密嘅形式透過 USB 傳輸,所以先至可以被偵測器捕捉到。
裝咗 Wireshark 嘅電腦
Wireshark 用嚟捕捉同分析 USB 封包。喺 Windows 上,捕捉 USB 需要額外組件先可以喺驅動程式層面存取 USB 流量。
接線同連接
USB 偵測器係串聯連接喺 USB 裝置同電腦之間。

- 將滑鼠或鍵盤連接去偵測器嘅 USB 輸入埠
- 將偵測器嘅 USB 輸出埠連接去電腦
- 將偵測器嘅監控 USB 埠連接去同一部或另一部運行 Wireshark 嘅電腦
USB 裝置會繼續正常運作,同時佢嘅流量會被鏡像到監控埠。
安裝所需軟件
Wireshark 安裝
Wireshark 必須安裝喺監控電腦上。喺 Windows 安裝期間,一定要啟用 USB 捕捉支援組件。冇咗呢個驅動程式,就無法捕捉 USB 流量。
安裝完成之後,Wireshark 會喺網絡介面旁邊列出 USB 捕捉介面。
USB 偵測器驅動程式(Windows)
喺 Windows 上需要一個細小嘅輔助執行檔,等 Wireshark 可以從硬件存取 USB 偵測數據。呢個執行檔必須放喺系統路徑入面(例如直接放喺 C:\Program Files\Wireshark\extcap 或者你安裝 Wireshark 嘅任何位置),咁 Wireshark 先可以同偵測器通訊。
喺 Wireshark 入面捕捉 USB 數據
啟動 Wireshark 之後,選擇 USB 偵測器介面並開始捕捉。最初可能會出現大量無關嘅 USB 流量。
套用 USB 過濾器
為咗只專注喺相關嘅 USB 數據,會套用一個顯示過濾器:
usbll
呢個過濾器只會顯示 USB Link Layer 封包,入面包含咗裝置同主機之間交換嘅原始 USB 交易。
因為 USB 產生嘅數據量非常大,所以需要進一步過濾。
按封包 ID(PID)過濾
滑鼠同鍵盤嘅數據封包可以透過特定嘅封包 ID(PID)嚟識別。喺呢個項目入面,觀察到嘅相關 PID 包括:
0xC30x4B
呢啲可以用Wireshark咁樣過濾:
usbll.pid == 0xC3 || usbll.pid == 0x4B
呢個過濾器會隔離嚟自滑鼠或者鍵盤嘅HID報告封包。
了解滑鼠數據
當滑鼠移動或者撳掣嗰陣,HID報告會持續發送。每個報告包含幾個位元組:
- 報告ID
- 按鈕狀態(左、右、中)
- X軸移動
- Y軸移動
透過觀察Wireshark入面位元組值嘅變化,可以推斷到滑鼠移動方向同速度。就算冇撳掣,淨係移動本身都會產生可見嘅USB活動。
了解鍵盤數據
鍵盤數據係以HID報告形式發送,包含掃描碼而唔係ASCII值。每個按鍵對應一個特定嘅HID用途ID。
例如:
0x04→ 字母A0x05→ 字母B0x0E→ 字母K
大寫同細寫字母係由Shift呢啲修飾鍵決定,佢哋會出現喺報告嘅獨立位元組入面。
F12呢啲功能鍵都會產生獨特嘅掃描碼,可以直接喺捕獲嘅封包入面觀察到。
安全影響
呢個項目清楚證明咗USB HID流量係冇加密嘅。如果一個惡意裝置被物理上放喺鍵盤同電腦之間,佢可以捕獲每一次按鍵,包括用戶名同密碼。
呢個就係點解喺敏感環境入面,USB安全、可信硬件同物理存取控制係咁重要。
示範總結
喺呢個示範入面,以下項目成功被捕獲同解碼:
- 滑鼠移動同按鈕活動
- 個別鍵盤按鍵
- 功能鍵同修飾鍵
- 喺鍵盤上打出嘅完整字詞
USB嗅探器係透明運作嘅,冇物理檢查嘅話好難偵測到。
結論
呢個USB嗅探器項目提供咗一個強勁嘅動手示範,展示USB通訊喺最低層面係點樣運作。透過結合專用嘅嗅探硬件同Wireshark,就可以確切睇到輸入裝置點樣同電腦通訊。
呢個項目好適合學習USB協議、HID報告結構同現實世界嘅安全考慮。雖然今次用滑鼠同鍵盤做示範,但同樣嘅原理適用於好多其他USB裝置。
軟件下載
用嚟配合Wireshark捕獲USB數據嘅Windows輔助應用程式usb_sniffer_win.exe可以喺呢篇文章下面下載。
你可能需要嘅嘢
-
亞馬遜Purchase USB sniffer from Amazonamzn.to
-
易贝Purchase USB sniffer from eBayebay.us
-
阿里巴巴速卖通Purchase USB sniffer from AliExpresss.click.aliexpress.com
-
邦购Purchase USB sniffer from Banggoodbanggood.com
資源與參考資料
-
下載Download Wiresharkwireshark.org
文件📁
用户手册
-
USB Sniffer User's manual_english
usb_sniffer_manual_english-1.pdf1.06 MB -
USB Sniffer Manual EnglishUser manual for a USB sniffer device. It explains how to set up and use the sniffer to capture and analyze USB traffic between a host and a device.
usb_sniffer_manual_english.pdf1.06 MB
其他文件
-
usb_sniffer_win.exe
usb_sniffer_win.zip0.29 MB