如何让 netcat 非静默超时?

如何让 netcat 非静默超时?

我正在尝试使用以下命令将一些数据发送到服务器,例如nc -w 3 IP_ADDRESS PORT < datanc 是FreeBSD 5.4 中的 netcat。当服务器在 3 秒内没有响应时,我根本得不到任何提示(退出代码为 0,并且没有终端输出)。我如何向服务器发送数据并在发生超时时收到警报?

答案1

使用详细选项并检查发送的字节数是否为非零。例如,如果计数为零,则使用 awk 退出 1:

nc -v -w 3 localhost 80 2>/tmp/log
awk '/bytes sent/{exit($2==0)}' < /tmp/log
echo $?

相关内容