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