有没有办法将连续流从命令输出发送到远程侦听器

问题描述 投票:4回答:2

我正在使用netcat for unix。

当我运行python script.py &> logfile.txt时,它会被连续捕获。

为了远程复制这个,我在侦听器(客户端)上尝试了nc -l -p 8011,并为发送者(主机或服务器)尝试了以下内容:

  1. python script.py &> nc 127.0.0.1 8011
  2. python script.py > nc 127.0.0.1 8011
  3. nc 127.0.0.1 8011 < python script.py

但似乎没有任何效果。请帮忙。

bash sockets shell unix netcat
2个回答
5
投票

这就是你要追求的吗?

接收器:

nc -l 8011 >logfile.txt

发件人:

python script.py 2>&1 | nc 127.0.0.1 8011

确保首先运行接收器代码。


编辑:如果你不知道有很多different versions of netcat;他们都接受稍微不同的论点(例如,Debian上的nc.traditional希望nc -l -p 1234在端口1234上收听,而BSD nc(例如OS X)只是想要nc -l 1234ncat可能会抛出一个有趣的错误,除非你使用-4标志,如果你的主机不支持IPv6) - 阅读手册页以找出您真正想要的选项组合。


1
投票

完美的答案,稍作修改:为“port”添加-p

接收器:

nc -l -p 8011 >logfile.txt

我使用您的建议拉入了nc帮助文件(nc -h)

发件人:

nc -h 2>&1 | nc 127.0.0.1 8011

我试过了

nc -h > logfile.txt
nc -h >> logfile.txt

从来没有工作过。

我在2 cmd.exe中运行netcat for Windows 7

再次感谢

© www.soinside.com 2019 - 2024. All rights reserved.