verificar várias portas usando o netcat nc

0

Estou usando o seguinte para esperar até que uma porta seja aberta.

while ! nc -z 127.0.0.1 8080; do sleep 0.1; done

como o acima pode ser modificado para verificar várias portas. Portanto, o script deve parar somente quando todas as portas estiverem ocupadas, por exemplo, 8080, 8081 e 8082.

    
por Abhishek Thakur 07.06.2018 / 10:33

1 resposta

0

Você precisa executar nc separadamente para cada porta:

while ! (nc -z 127.0.0.1 8080 && nc -z 127.0.0.1 8081 && nc -z 127.0.0.1 8082)
    do sleep 0.1
done

(dividido em várias linhas para facilitar a leitura)

Isso usa um subshell de shell com uma lista de comandos com um operador "%" e && lógico; o segundo comando nc é executado apenas se o primeiro for bem sucedido, etc .; assim que todos os comandos nc forem bem sucedidos, o status de saída do subshell é true, isso é negado pelo ! e o while termina.

    
por 07.06.2018 / 16:44

Tags