dwc2
このモジュールでUSB OTGを使用するためにRaspberry Pi ZeroにRaspbian Jessieを設定しました。今私がしたいことは周辺機器側から着信USBトラフィックをスニッフィングします。。私はカーネルモジュールを見つけてテストしましたがusbmon
(明らかに私が知っている限り)うまくいかないようです。何も記録されません。
私はテストの目的でホスト側(Linuxの他のコンピュータ)でまったく同じことを試しましたが、usbmon
残念ながらそれは私にとって必要ではありません。
結論:これは可能ですか?それではどうですか?これを使用できますかusbmon
、それとも別の操作(特定のオプションを使用してカーネルを再コンパイルするなど)を実行する必要がありますか?
答え1
ツールはUSBMon
まだ完成していません。
同じ名前の最新のカーネルモジュールがあります。
カーネルモジュールusbmon
をロードできることを確認しmodprobe usbmon
()、次のようにUSBトラフィックをスニッフィングできます。
usbdump
(カーネルモジュールのフロントエンドへusbmon
)- 指示に従うhttps://www.kernel.org/doc/Documentation/usb/usbmon.txt
- ラインシャークhttps://www.wireshark.org/CaptureSetup/USB
答え2
便利なRPiがないため、これがうまくいくかどうかはわかりませんが、次のコマンドを正常に使用してリモートシステムでUSBトラフィックを監視tcpdump
しました。wireshark
$ ssh user@remotehost 'tcpdump -U -i usbmon2 -w -' | wireshark -k -i -
ここでは、接続されているUSBデバイスのバスIDusbmon2
です。2
でこれを得ることができますlsusb
。
答え3
多くの調査の後、コントローラが状態にあるときにUSBトラフィックを追跡することは不可能に見えます(もしそうなら、どこにも情報が見つかりません)。装備(または周辺機器)モード。コントローラが次のように設定されている場合のみ所有者。
トレースが生成されないため、usbmon
残念ながら最初からそのトレースが必要なため、どのツール(Wireshark、dumpcap...)も使用できません。
だから今やるべきことは、libcomposite
カーネルモジュールを修正してデバッグ情報を追加したり、スニッフィング用に設計された特定のモジュールを書くことです(しかし、これはこの問題に関する現在の知識をはるかに超えています)。