您可以使用 socat 监听端口 12345 并回显发送到它的任何数据,如下所示:
socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT
Run Code Online (Sandbox Code Playgroud)
如果您也想将其捕获到文件中 ( file.log),您可以对 tee 使用相同的命令:
socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT | tee file.log
Run Code Online (Sandbox Code Playgroud)
您可以运行程序以输出到 bash 的 TCP 虚拟设备:
./prog > /dev/tcp/localhost/12345
Run Code Online (Sandbox Code Playgroud)
如果您不想使用 bash magic,那么您也可以使用 socat 发送数据:
./prog | socat - TCP-CONNECT:localhost:12345
Run Code Online (Sandbox Code Playgroud)
上面的示例假设您正在同一系统上运行程序和“logger”,但您可以将“localhost”替换为您希望发送到的系统的主机名或地址(socat 正在侦听的系统)。