FatherMaj
(usa Linux Mint)
Enviado em 26/08/2019 - 23:55h
Boa noite!
Estou com um problema para criar um script para automatizar o teste de telnet entre servidores.
Preciso fazer o seguinte:
Tenho o Servidor A e preciso saber se ele fecha telnet com o Servidor B nas portas, por exemplo 3000, 3001 e 3002.
Procurei na internet e achei que com comando "nc" (Netcat) consigo verificar se fecha comunicação entre eles.
Então fiz um script para testar a comunicação entre 2 servidores em vários portas.
Porém o resultado do script vem com alguns problemas que não consegui solucionar.
1. Era para trazer o nome do servidor e o respectivo teste nas portas, porém está trazendo mais de uma vez o nome do servidor;
2. Repetiu a porta no resultado, não executa todas na ordem;
Não sei se existe um jeito mais fácil para realizar esse teste de telnet, ou se dessa forma que criei está correto.
Se possível, gostaria de uma ajuda para solucionar isso. Obrigado!
Segue script:
#!/bin/bash
clear
ip=("127.0.0.1" "127.0.0.2")
server_name=("ServerA" "ServerB")
porta=("3000" "3001" "3002")
for ip in "${ip[@]}"
do
echo -e "\n========================================================\n"
for server_name in "${server_name[@]}"
do
echo $server_name
done
for porta in "${porta[@]}"
do
nc -zvw3 $ip $porta
done
echo -e "\n========================================================\n"
done
Resultado do script:
========================================================
ServerA
ServerB
nc: connect to 127.0.0.1 port 3000 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 3001 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 3002 (tcp) failed: Connection refused
========================================================
========================================================
ServerB
ServerB
nc: connect to 127.0.0.2 port 3002 (tcp) failed: Connection refused
nc: connect to 127.0.0.2 port 3001 (tcp) failed: Connection refused
nc: connect to 127.0.0.2 port 3002 (tcp) failed: Connection refused
========================================================
CORRETO PARA TRAZER:
Apenas um nome do servidor referente ao IP e todas as portas sem repetir.
ServerB
nc: connect to 127.0.0.2 port 3000 (tcp) failed: Connection refused
nc: connect to 127.0.0.2 port 3001 (tcp) failed: Connection refused
nc: connect to 127.0.0.2 port 3002 (tcp) failed: Connection refused