在Linux上嗅探串口

我怎样才能嗅探通过串口在Linux上传输的数据包?

有几个选项:

  • sersniff是一个简单的程序来隧道/嗅探2个串口之间。

  • 串行线嗅探器 (slsnif)是一个串口logging工具。 它监听指定的串行端口,并logging通过此端口的所有数据。

  • 串口到networking代理(ser2net)为用户提供了一种从networking连接到串口的方式。

  • SerialSpy充当串行直通设备。 它侦听两个串行端口上的input数据并将其转发,以便设备直接连接。 它还会在数据通过端口时logging数据。

  • sercd是符合RFC 2217的串行端口redirect器。 它可以让你通过networking共享一个串口。 它基于sredird。 RFC2217协议是对telnet的扩展,允许改变通信端口参数。

  • SerLooK是一个KDE应用程序,用于检查通过串行线路传输的数据。 它可以作为一个二进制terminal,通过定义的端口(点对点模式)发送和接收数据,并显示在不同的视图。 每个视图都可以configuration为以hex,十进制,八进制,二进制和原始ASCII显示数据。 还可以通过terminal仿真视图执行I / O,并定义一个辅助端口,并使用“Y”电缆(Snooper模式)监视两台外部主机之间的通信。

  • nullmodem创build伪terminal的虚拟networking。 它可以作为一个适配器来连接两个通常需要串行接口卡的程序。

  • ttywatch监视器,日志和多路复用terminalI / O。 它具有完整的日志旋转内置,并可以使用telnet以及本地TTY端口。

我试图使用slsnif ,但我发现我得到一个错误:

 Failed to open a pty: No such file or directory 

这个邮件列表项表明slsnif只支持当前Linux内核可能不使用的“legacy”伪terminal( /dev/ttyp0等)。


我尝试拦截 ,并成功地使用它。 首先,我把它运行在感兴趣的港口:

 interceptty /dev/ttyACM0 

然后,我将被测程序连接到拦截器创build的伪terminal/dev/pts/5

尝试使用jpnevulator(debian打包)或slsniff,从http://slsnif.sourceforge.net/