Ubuntu

嗅探串列埠 - jpnevulator 僅嗅探一些字節

  • September 19, 2018

我使用 jpnevulator 來嗅探讀取串列埠的應用程序:

jpnevulator --tty /dev/ttyS0 --read

假設以下字節被發送到串列埠:ABCD E。有時 jpnevulator 只列印字節:ACE,而應用程序獲取字節 B D。

jpnevulator 應該列印字節:ABCDE 並且應用程序也應該得到所有字節:ABCD E。出了什麼問題?我應該使用一些選項執行 jpnevulator 嗎?

不熟悉jpnevulator,但一般來說:如果您有兩個應用程序從一個 tty 讀取,那麼只有一個應用程序會獲取數據。

如果要複製數據,則必須創建第二個(或第三個)tty,並讓應用程序從中讀取。

一種方法是使用類似ttybus的東西。然後,您可以附加jpnevulator到一個新的 tty,並將您的應用程序附加到另一個。

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

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

然後將您的應用程序指向/tmp/ptya,同時socat將十六進制的流量轉儲到stderr.

引用自:https://unix.stackexchange.com/questions/469573