通过 virtualbox COM 嗅探串行 ttyS0 上的数据

通过 virtualbox COM 嗅探串行 ttyS0 上的数据

我在 Linux 下运行 VirtualBox。猜测操作系统是 Windows XP。

我有一个连接到串行端口的红外发射器(是的,旧式的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

运行 Guest OS 并启动 IR 软件并通过 IR 写入数据(在 guest OS/WinXP 中)。数据已写入,但没有任何内容出现jpnevulator

我在这里遗漏了什么?

答案1

好的。经过大量测试,我这个纯粹的新手发现了以下监控流量的方法:

在 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 而不是通过套接字覆盖层的解决方案,我会接受它作为答案 - 但目前这个可以做到。希望它能帮助别人。

索卡特

相关内容