嗅探串行端口 - jpnevulator 仅嗅探一些字节

嗅探串行端口 - jpnevulator 仅嗅探一些字节

我使用 jpnevulator 来嗅探读取串行端口的应用程序:

jpnevulator --tty /dev/ttyS0 --read

假设以下字节被发送到串行端口:ABCD E。有时 jpnevulator 仅打印字节:ACE,而应用程序获取字节 B D。

jpnevulator 应该打印字节:ABCDE 并且应用程序还应该获取所有字节:ABCD E。出了什么问题?我应该使用某些选项运行 jpnevulator 吗?

答案1

不熟悉jpnevulator,但一般来说:如果您有两个应用程序从一个 tty 读取数据,那么只有一个应用程序会获取数据。

如果要复制数据,则必须创建第二个(或第三个)tty,并让应用程序从中读取数据。

一种方法是使用类似的东西终端总线。然后,您可以附加jpnevulator到一个新的 tty,并将您的应用程序附加到另一个。

socat另一种方法是与-xor一起使用-v,例如

socat -x PTY,link=/tmp/ptya /dev/ttyS0

然后将您的应用程序指向/tmp/ptya,同时socat将十六进制流量转储到stderr

相关内容