Ubuntu
嗅探串列埠 - jpnevulator 僅嗅探一些字節
我使用 jpnevulator 來嗅探讀取串列埠的應用程序:
jpnevulator --tty /dev/ttyS0 --read
假設以下字節被發送到串列埠:ABCD E。有時 jpnevulator 只列印字節:ACE,而應用程序獲取字節 B D。
jpnevulator 應該列印字節:ABCDE 並且應用程序也應該得到所有字節:ABCD E。出了什麼問題?我應該使用一些選項執行 jpnevulator 嗎?
不熟悉
jpnevulator
,但一般來說:如果您有兩個應用程序從一個 tty 讀取,那麼只有一個應用程序會獲取數據。如果要複製數據,則必須創建第二個(或第三個)tty,並讓應用程序從中讀取。
一種方法是使用類似ttybus的東西。然後,您可以附加
jpnevulator
到一個新的 tty,並將您的應用程序附加到另一個。另一種方法是
socat
與-x
or一起使用-v
,例如socat -x PTY,link=/tmp/ptya /dev/ttyS0
然後將您的應用程序指向
/tmp/ptya
,同時socat
將十六進制的流量轉儲到stderr
.