如何在ssh隧道期间检查netcat的日志

如何在ssh隧道期间检查netcat的日志

我使用 netcat 在 3 台机器(A->B->C)ssh 隧道期间进行流量转发。主机 A 在主机 B 上运行的代理命令如下:

/usr/bin/ssh host_B nc localhost 19999

并且 host_B:19999 和 host_C:22 之间存在隧道

我想知道netcat做了什么。 netcat 日志文件在哪里?我尝试在 A 上发出以下代理命令:

/usr/bin/ssh host_B nc -vv localhost 19999 > log.txt 2>&1

但它总是在主机 A 上给我“ssh_exchange_identification:连接被远程主机关闭”

谢谢,

答案1

Netcat 不记录任何内容。

将 netcat 的输出重定向到文件会破坏您的设置,因为该输出应该进入该ssh进程。通过您设置的重定向,远程主机发送的数据最终会被发送log.txt到客户端,而不是发送到客户端。如果您只想记录错误,请使用2>log.txt.

如果要将netcat传输的所有数据转储到一个文件中,则需要复制它。

unbuffer tee input.data | nc localhost 19999 | unbuffer tee output.data

相关内容