Tempo limite do servidor netcat sobre o ssh

0

Estou escrevendo um script que o ssh está em outra máquina e abre um servidor netcat. O servidor precisa ter tempo limite.

Usando -l ignora -w.

O comando netcat -w 3 lança o uso de volta para mim.

Como posso conseguir isso?

    
por Amish 27.01.2017 / 18:18

1 resposta

0

Aqui está um hack que pode fazer o que você quer:

nc -l 12345 & NC_PID=$! ; sleep 3; if [ 'netstat -ant | grep ':12345 .*ESTABLISHED'' -eq 0 ]; then kill -9 $NC_PID; fi

Ele inicia o servidor, dorme para qualquer que seja seu tempo limite e mata o netcat, a menos que haja uma conexão estabelecida. Existe um pequeno risco de o servidor travar se houver uma conexão existente em que a porta remota corresponda ao seu ouvinte, mas isso seria uma má sorte.

Nota: Eu testei isso em um CentOS Linux, então o código não é totalmente portátil, mas a idéia deve ser implementada em qualquer máquina * nix.

    
por 27.01.2017 / 18:57

Tags