USB
キャプチャ
パケットキャプチャ
Ratatoskr
USBキャプチャ

殴り書きなので必要な情報や足りない情報があればちょくちょく訂正します。


USBキャプチャとは

Web業界ではEthernet通信をモニターできるEthernetキャプチャがよく使用されると思いますが、USBキャプチャはそれのUSB通信版です。Web関連業界だとあまり恩恵はなく使い道は少ないですが、組み込み業界にいると非常にお世話になります。


Ratatoskrとは

組込み機器開発の効率化を目指した.NET Frameworkで作成されたOSSの汎用通信ソフトです。

単純なシリアル通信やTCP/UDP等の通信もでき、送受信パケットの用途に合わせてデータビューやフィルタを設定できます。

RatatoskrはUSBPcapにてUSBキャプチャを実現しています。

WiresharkでもUSBPcapを使用することでUSBキャプチャを行うことができますが、USBキャプチャを使用する方法が異なるため、WiresharkではUSBキャプチャが使用できなくてもRatatoskrではUSBキャプチャができることがあります。


インストール


1. ランタイムをインストール

Ratatoskrを実行するための.NET Frameworkと、USBキャプチャを使用するためのUSBPcapをインストールします。Ratatoskrは.NET Framework 4.7を使用します。(.NET Framework 4.6でも動く?)


2. Ratatoskrをインストール

以下からダウンロードしてインストールしてください。(執筆当時はv0.5.0が最新)

https://github.com/tokihk/Ratatoskr


3. Ratatoskrを管理者権限で起動する

RatatoskrでUSBキャプチャを使用するには、Ratatoskrを管理者権限で起動します。Ratatoskrを管理者権限で起動するには、スタートメニューや実行ファイル本体を右クリックして「管理者として実行」を選択します。

管理者権限で起動していれば、タイトルバーに「(Administrator Mode)」が表示されます。

管理者権限.png


USBキャプチャの設定と実行


4. USBキャプチャをセットアップする

Ratatoskrは一度に5個までの通信を行うことができますので、今回は「GATE_001」にUSBキャプチャ機能を設定します。「GATE_001」のボタンを左クリックするとGate settingのダイアログが開くので、Device typeで「USB Monitor」を選択します。Monitor deviceはUSBコントローラの数だけ表示されるので、USBキャプチャしたいUSBのみを選択します。どのUSBPcapの下に目的のUSBデバイスが存在するかはUSBPcapと一緒にインストールされるUSBPcapCMDを使用することで確認できますが、今回は割愛して適当に選択します。

モード設定.png


5. USBキャプチャを有効にする

「GATE_001」にUSBキャプチャを設定した後、「GATE_001」を左クリックすることでUSBキャプチャが開始されてパケットビューにデータが流れ始めます。

キャプチャ.png

流れてきたデータの種類はInformationにて識別できます。

表示形式は以下です。

 USB: [デバイス番号]-[Isochronous/Interrupt/Control/Bulk]