2009年7月4日土曜日

Linuxのusb sniffer

昔Windowsの場合、USBのドライバを開発するとき、BUS Houndを使ってUSB通信パケットをキャプチャできるんですが、今Linuxの環境で同じようなものを探します。
結局、カーネルでCONFIG_DEBUG_FSとCONFIG_USB_MONのオプションを有効すれば、何もインストールしなくでも簡単にできるです。
命令が下記のとおり:
# mount -t debugfs none /sys/kernel/debug
# cat /sys/kernel/debug/usbmon/0u
ここ0uの意味は全通信を監視
特定のデバイスを監視の場合が、そのデバイス対応しているの番号を使います。
ちなみに、番号確認命令はlsusbです。
詳しい情報が下記のURLを参照
http://pylone.jp/blog/tips_usbmon