Como eu faço o tempo limite do netcat de maneira não silenciosa?

1

Estou tentando enviar alguns dados para um servidor com um comando como nc -w 3 IP_ADDRESS PORT < dataonde nc é o netcat do FreeBSD 5.4 . Quando o servidor não responde dentro de 3 segundos, não recebo nenhuma indicação (o código de saída é 0 e não há saída do terminal). Como posso enviar dados para o servidor e ser alertado quando ocorre um tempo limite?

J Delaney
fonte

Respostas:

3

Use a opção detalhada e verifique se a contagem de saída de bytes enviados é diferente de zero. Por exemplo, usando awk para sair 1 se a contagem for zero:

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