利用netcat进行远程连接的为啥需要输入3次enter键

我刚在我的Linux终端里试了一下你的命令,并没有看到你描述的现象,也就是说并不需要敲三次回车。在A终端里敲命令:cat /tmp/f | bash -i | nc -l 1234 \u0026gt; /tmp/f这时A终端里的nc进入监听状态。现在打开另一终端B,敲命令:nc localhost 1234回车后,在A、B两个终端里都可以马上看到命令行提示符。之后再敲pwd,似乎和前面做的事情毫无关系了。你似乎是想在B终端里执行从1234端口传过来的 /tmp/f 文件中的指令?那么,你好像是做错了。因为从1234端口传过来的并不是 /tmp/f 文件的内容,而是「bash -i /tmp/f」的结果。而且,由于你在命令的最后加上了 「\u0026gt; /tmp/f」,导致B终端并没有从1234端口接收到任何东西。所以在B终端里除了换行回车,没有发生任何其它的事情。


    推荐阅读