嗅探IOCTL和串口通信

时间:2013-03-18 03:55:50

标签: linux serial-port ioctl sniffer

我正试图扭转早期九十年代逻辑分析仪及其PC软件所使用的协议。 该设备通过RS-232(专用线路)连接,并与DOS程序通信,在DOSBOX上成功运行。

我可以用原始软件控制设备,但是使用自定义程序从分析仪下载数据会很有用但是这样做我需要知道串口上发生了什么。< / p>

我知道串口设置的模式是什么,而我确定数据速率是1200或9600 bps(可在设备上配置)我不知道流量控制(我猜它是RTS / CTS) 。
我还需要利用prgram和设备之间的对话,而不会打扰他们的沟通 使用其他程序(cutecom / minicom)读取串口可防止仿真器从硬件接收数据。

总而言之,我需要知道的是:

  • 在/ dev / ttyS0上设置了什么配置(通过IOCTL调用,我认为)
  • 程序和设备之间发生了什么。

我正在考虑编写一个库作为标准c库的代理(通过LD_PRELOAD),但必须有一种更简单的方法来实现这一点。

2 个答案:

答案 0 :(得分:0)

您可以使用slsnif(串行线路SNIFfer)。

http://linux.die.net/man/1/slsnif

这是sourceforge项目的链接,您可以下载它。我不相信它有任何现代发行版,但我可能是错的,所以首先检查你的发行版的软件存储库。

http://sourceforge.net/projects/slsnif/

答案 1 :(得分:0)

我使用ttyrpld进行嗅探。我把它移植到PPC并在2.6.32上运行它。它将电路板上的所有tty流量记录到文件中,每tty一个。效果很好。