virtualbox COM によるシリアル ttyS0 上のデータのスニフ

virtualbox COM によるシリアル ttyS0 上のデータのスニフ

Linux で VirtualBox を実行しています。OS は Windows XP だと思います。

シリアルポートに接続されたIRトランスミッターがあります(古いタイプのものです)DE-9) をインストールし、VirtualBox の「シリアル ポート」に以下を追加しました。

[v] Enable Serial Port
Port Number: COM1 IRQ: 4 I/O Port: 0x3F8
Port Mode: Host Device
Port/File_PAth: /dev/ttyS0

シリアルのグループにユーザーを追加しました。

現在: ホスト上でスニファを使用しています。つまり、jpnevulatorです。

jpnevulator --ascii --timing-print --tty /dev/ttyS0 --read

ゲスト OS を実行し、IR ソフトウェアを起動して、IR でデータを書き込みます (ゲスト OS/WinXP の場合)。データは書き込まれますが、 には何も表示されませんjpnevulator

ここで何が欠けているのでしょうか?

答え1

OK。私はまったくの初心者ですが、現場で何度もテストした結果、トラフィックを監視する次の方法を見つけました。

VirtualBox の「シリアルポート」の場合:

[v] Enable Serial Port
Port Number: COM1 IRQ: 4 I/O Port: 0x3F8
Port Mode: Host Pipe
Port/File_PAth: /tmp/vbwincom1

そして、

socat /tmp/vbwincom1 -

パイプに書き込まれたデータは、ホスト Linux の端末に書き込まれます。

これはシリアルではなくソケットを監視することによって行われます。

誰かがソケットによるオーバーレイヤーの代わりに /dev/ttyS0 を監視するための解決策を持っているなら、私はそれを答えとして受け入れますが、今のところはこれで十分です。うまくいけば、他の人の助けになるかもしれません。

ソカット

関連情報