Como faço para fazer o tempo limite do netcat não?

1

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

    
por J Delaney 19.06.2015 / 19:10

1 resposta

3

Use a opção detalhada e verifique se a contagem de saída dos 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 $?
    
por 19.06.2015 / 19:39