ping
A ferramenta ping é uma utilidade de linha de comando disponível em sistemas
Linux que permite verificar a conectividade de rede com hosts específicos, bem
como medir o tempo de resposta entre o computador local e esses hosts. O ping
usa o protocolo ICMP (Internet Control Message Protocol) para enviar pacotes
de teste e receber respostas de hosts remotos.
Uso Básico
Para verificar a conectividade com um host específico, você pode simplesmente
fornecer o endereço IP ou o nome de domínio do host como argumento para o
ping. Aqui está um exemplo básico:
ping 192.168.0.100
Esse comando enviará pacotes de teste para o endereço IP 192.168.0.100 e
exibirá informações sobre a latência e a disponibilidade do host.
Especificando o Número de Pacotes
Você pode especificar o número de pacotes a serem enviados usando a opção -c
seguida do número desejado. Por exemplo, para enviar apenas 3 pacotes para o
alvo:
ping -c 3 192.168.0.100
Neste comando, apenas 3 pacotes serão enviados para o alvo.
Controlando o TTL
TTL (Time To Live) é o número máximo de saltos (roteadores) que o pacote pode atravessar, controlando isso conseguimos identificar cada salto incrementando o TTL e identificar exatamente a rota utilizada pra chegar em um host.
ping 8.8.8.8 -t 1
No exemplo acima o pacote só pode passar por 1 roteador antes de expirar e irá
retornar Time to live exceeded, com isso identificamos o primeiro salto.
$ ping 8.8.8.8 -t 1 -c 1
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 172.17.96.1 icmp_seq=1 Time to live exceeded
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
Varrendo a Rede com Ping
É possível usar o ping para varrer uma faixa de endereços IP na rede em busca
de hosts ativos. Aqui estão duas maneiras de fazer isso:
Usando um loop for
for ip in $(seq 1 254); do
ping -c 1 192.168.0.$ip | grep "64 bytes"
done
Usando seq e xargs com Paralelismo
seq 1 254 | xargs -I{} -P 64 sh -c 'ping -c 1 192.168.0.{} | grep "64 bytes"'
Ambos os métodos percorrerão os endereços IP de 192.168.0.1 a 192.168.0.254,
enviando um único pacote de ping para cada endereço e exibindo apenas os
resultados que contenham "64 bytes".
Lembre-se de que o sucesso ao varrer a rede com ping depende da configuração
da rede e das permissões do firewall, pois alguns firewalls podem bloquear o
protocolo ICMP.