小编Bal*_*int的帖子

如何延迟管道 netcat 在第一个输入上进行连接

Ubuntu下bash运行:

我有一个源可以生成一些输出,但不是立即生成。让我们假设它是第一个在套接字上侦听的 netcat:netcat -l 12345

我想将其通过管道传输到传出的 netcat(通过 TCP 连接),例如netcat -l 12345 | netcat localhost 54321。但棘手的一点是,我知道当我运行命令时,本地主机 54321 上没有任何东西监听传入连接,但我知道当第一个实际字符通过管道到达时将会有一个监听。

所以我的问题是:有没有办法:

  • 延迟执行传出的 netcat,直到第一个字符到达管道,或者
  • 延迟传出的 netcat 尝试建立 TCP 连接,直到它收到标准输入上的第一个字符?(在 man 中没有直接选项,切换到 UDP 是不可接受的)

提前致谢!

编辑:实际上,源比 netcat 更复杂,即它是一个通过各种流修改进行管道传输的监听 netcat。

linux pipe netcat

1
推荐指数
1
解决办法
5421
查看次数

标签 统计

linux ×1

netcat ×1

pipe ×1