使用socat将一个TTY流中继到多个TCP / IP目的地,再加上一个“嗅探器”程序

时间:2013-08-05 11:59:21

标签: tcp tty netcat socat

使用嵌入式Linux开发板,我需要整合一个执行以下操作的小部件:

  • 通过物理串行端口读取数据包,并将这些数据包中继到多个IP地址(最多20个;从配置文件中读取IP目的地)。
  • 也可以使用自定义程序“嗅探”这些串行数据包,也许用c编写。

作为具有编程背景的人,对我来说最明显的解决方案是从头开始创建c程序以实现上述目标。但是,因为这是我需要快速拼凑的东西,因为我需要借口来了解更多关于现有Linux命令行程序和脚本编写(我不太擅长),我想知道是否有很多这可以通过现有的命令行程序和shell脚本来实现。然后,我从头开始写的唯一部分是我的数据包嗅探器(称之为sniffer.c)。

我了解netcatsocat可以用于设备和地址之间的中继,我已经开始尝试两者。我想到,通过运行多个socat实例来将TTY端口的串行数据中继到远程IP地址,我可以避免开发和测试TCP / IP软件。 socat的每个实例都可以处理特定的远程IP地址。

这听起来是否可行,如果是这样,我怎样才能有效地“复用”来自/dev/ttyS0(例如)的流作为多个socat实例的来源加上{{1}的一个实例}?可以通过一种方式将从sniffer.c读取的数据中继到缓存文件,然后让我的/dev/ttyS0个实例和socat都拥有对该文件的只读访问权限吗?

0 个答案:

没有答案