はじめに
USB(ユニバーサル・シリアル・バス)は、PCやスマホの業界標準のインタフェースとして
普及しています。弊社のWebカメラ製品(Webex Desk Camera)も、USB インタフェースを
介してPCと接続して使用します。
本ドキュメントでは、USBインタフェースの通信をキャプチャする方法について
ついて説明します。
1.USBPcapについて
Wiresharkは主にネットワークのパケットキャプチャに利用されますが、
USBPcapを同時にインストールすることで、USBインタフェース通信の
データキャプチャのツールとしても利用できます。

USB 通信のキャプチャは、pcap形式でファイルに保存でき、Wiresharkで
内容を解析することができます。
USBPcapは単体でインストールし、コマンドラインインタフェースで
使用することも可能です。

2.Wiresharkでの利用例
Wiresharkを起動し、キャプチャの対象としてUSBインタフェースを選択します。

USBデバイスがUSBハブに接続されている場合、キャプチャファイルには
多くの機器の通信が混在します。
Cisco Webex Desk Cameraの通信内容を調べたい場合、
usb.bString == “Cisco Webex Desk Camera” 等のフィルタで
デバイスのアドレスを見つけることができます。

下図は、Cisco Webex Desk Camera のUSB通信のサンプルです。
PCがUSBデバイスから、Device Descriptor、Configuration Descriptor
等の情報を取得しているのが分かります。

Cisco Webex Desk Camera は、UVC(USB Video Class)に準拠した製品で
UVCに関連した情報もパケットキャプチャ上で確認できます。

まとめ
Wiresharkはネットワークのパケットキャプチャだけでなく、
USBインタフェース通信のデータキャプチャのツールとしても
利用できます。
USBデバイスの動作を把握するツールとして活用できます。
参考ドキュメント:
USBインタフェース関連の Document Library (USB.org)
SharkFest’20 Virtual
USB Analysis 101 by Tomasz Moń