netcat - 在 Debian 中继续监听连接

netcat - 在 Debian 中继续监听连接

OS X (BSD) 版 netcat 中有-k一个选项,可以在当前连接完成后继续监听。然而 Debian (GNU?) 版中没有这个选项。

当 EOF 出现在 stdin 上时,可以-q -1选择永远监听,但这不起作用,并且连接无论如何都会关闭。

有什么方法可以强制 Debian 的 netcat 无限期地保持监听?

答案1

Debian 的 Netcat 实现确实有这个-k选项。但是,由于某些未知原因,它不能以可靠的方式工作,因此手册中没有记录它。

幸运的是,有ncat,这是 Netcat 的另一种实现,也是软件包的一部分nmap。这个有一个可用的-k。您可以通过安装来获得它nmapncat的选项和用法与 Netcat 的其他实现大致相似,因此您对其他实现的了解应该可以很好地转移到ncat

答案2

我想,如果 netcat 收到 rst 或 fin 数据包,我也会遇到同样的问题。

只要 netcat 关闭,您就可以使用 bash 循环再次调用它。

while true; do nc -lv <listeningport> ; done

答案3

对我来说不起作用,也使用 UDP 侦听器。-w0 解决了这个问题。while true; do nc -luv 5140 -w0; done

相关内容