アプリケーションで USB デバイスとの間でトラフィックをリダイレクトしたいと考えています。特に USB ドングルと話したいです。
たとえば、ドングルが USB ポートに接続されている場合、このデバイスに書き込まれることを意図したトラフィックを取得できますか? 一方、同じように単純にデータを書き込むことはできますか?
経験がないので、どなたか教えていただけると幸いです。
ところで、これは違法なことに使用することを意図したものではありません;-)
「USB ドングル」とは、ソフトウェア ライセンス ドングルのことですか?
まず、USB は RS232 のようなデータ ストリームではなく、さまざまな制御およびデータ メッセージを転送する非常に複雑なバスであることを知っておく必要があります。
Linux では、Wireshark を使用して USB バス上のデータを監視できます。Windows 用の同様のツールがあります (Windows XP までのみ) が、Wireshark の Windows バージョンはイーサネットのみをサポートし、USB はサポートしません。Windows 7 には、同じジョブを実行するコマンド ライン ツールが組み込まれています。
本当にデータをリダイレクトしたい場合は、ネットワーク経由で USB ポートを共有できる「usbip」などを使用できます。ドングルをシミュレートするサーバーをプログラミングすることで、USB ドングル デバイスをシミュレートすることができます。