命令行上的Unix双向管道

命令行上的Unix双向管道

我已经能够使用这个 Linux 命令将 Netcat 连接到串行端口:

nc -l 80 <> /dev/ttyS0

我希望能够记录此交易。我的备用计划是使用 Wireshark 来监控 netcat 流,但理想情况下,我希望执行如下操作:

cat /dev/ttyS0 | tee upstream.bin | nc -l 80| tee downstream.bin | /dev/ttyS0

这会尝试打开 ttyS0 两次,因此会引发权限错误。有人知道更聪明的方法来做到这一点吗?

答案1

Netcat 文档说

要获取以任一方式发送的数据的十六进制转储文件,请使用“-o logfile”。转储行以“<”或“>”开头,分别表示“来自网络”或“到网络”,并包含每个方向的总计数以及流量的十六进制和 ASCII 表示。捕获十六进制转储自然会使 netcat 的速度稍微变慢,因此不要在速度至关重要的地方使用它。

相关内容