Ping é uma utilidade de rede simples, amplamente utilizada e multiplataforma para testar se um host é alcançável em uma rede de Protocolo de Internet (IP). Funciona enviando uma série de mensagens de solicitação de eco Protocolo de Mensagem de Controle da Internet (ICMP) ECHO_REQUEST para o host alvo e aguardando uma resposta de eco ICMP (ou ECHO_RESPONSE).
Você pode executar um teste de ping para estabelecer se o seu computador pode se comunicar com outro computador (host de destino); isso ajuda a determinar:
- Se o host de destino é alcançável (ativo) ou não.
- Para medir a quantidade de tempo que os pacotes levam para chegar ao host de destino e voltar ao seu computador (o tempo de ida e volta (rtt) na comunicação com o host de destino) e
- A perda de pacotes é expressa como uma porcentagem.
Seu resultado é uma lista de respostas do host de destino juntamente com o tempo levado para o último pacote chegar ao host de destino e voltar ao seu computador.
Também mostra um resumo estatístico do teste, geralmente incluindo o número de pacotes transmitidos e recebidos, a porcentagem de perda de pacotes; os tempos de ida e volta mínimos, máximos e médios, e o desvio padrão da média (mdev). No caso de falha em um teste de ping, você verá mensagens de erro como saída.
Exemplos de Comandos Ping no Linux
Neste artigo, vamos explicar 12 exemplos práticos de comando ping para testar a acessibilidade de um host em uma rede.
Índice
1. Pingar Domínio ou Endereço IP
Você pode executar um teste de ping simples para ver se o host de destino www.google.com é acessível ou não. Você também pode usar um endereço IP em vez do nome de domínio, conforme mostrado.
$ ping www.google.com OR $ ping 172.217.27.196
Exemplo de Saída:
ping www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms ...
A partir dos resultados do comando acima, o ping foi bem-sucedido e não houve perda de pacotes. Uma coisa importante a se observar em uma saída de teste de ping é o tempo no final de cada resposta de ping.
Supondo que você esteja realizando testes de ping em seus servidores, então o valor aqui importa muito, dependendo do tipo de aplicativo em execução em um servidor.
Se, por exemplo, você tiver um aplicativo da web onde uma única solicitação do usuário resulta em tantas consultas a um (s) banco (s) de dados para gerar resultados na interface do usuário, então um tempo de ping mais baixo para esse servidor em particular implica que mais dados estão sendo transmitidos sem atraso e o contrário é verdadeiro.
2. Solicitação de Eco do Ping
Você pode especificar o número de ECHO_REQUESTs a serem enviados após os quais o ping será encerrado, usando a opção -c
conforme mostrado (neste caso, o teste de ping será interrompido após o envio de 5 pacotes).
$ ping -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms
3. Definir Intervalo de Tempo de Ping
A opção -i
permite definir intervalos em segundos entre o envio de cada pacote, o valor padrão é de um segundo.
$ ping -i 3 -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 12014ms rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms
4. Ataque DoS com Ping Flooding também conhecido como Ping of Death
Para determinar a resposta da sua rede sob condições de alta carga, você pode executar um “ping de inundação” que envia solicitações o mais rápido possível, usando a opção -f
. Apenas o root pode usar esta opção, caso contrário, use o comando sudo para obter privilégios de root.
$ sudo ping -f www.google.com OR $ sudo ping -f -i 3 www.google.com #specify interval between requests PING www.google.com (172.217.163.36) 56(84) bytes of data. .......................................................................................................................................................................................^C --- www.google.com ping statistics --- 2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms
5. Ping Broadcast de uma LAN
Você pode habilitar o ping a um broadcast usando a opção -b
, que obterá uma resposta de todos os endereços IP conectados à sua rede LAN.
$ ping -b 192.168.0.0
6. Definir Valor TTL do Ping
Para limitar o número de saltos de rede (TTL – Tempo de Vida) que as sondagens percorrem, use a opção -t
. Você pode definir qualquer valor entre 1 e 255; sistemas operacionais diferentes têm padrões diferentes.
Cada roteador que recebe o pacote subtrai pelo menos 1 da contagem e se a contagem ainda for maior que 0, o roteador encaminha o pacote para o próximo salto; caso contrário, descarta-o e envia uma resposta ICMP de volta para o seu computador.
Neste exemplo, o TTL foi excedido e o teste de ping falhou, como mostrado na captura de tela.
$ ping -t 10 www.google.com

7. Definir Tamanho do Pacote de Ping
O tamanho padrão do pacote deve ser suficiente para um teste de ping, no entanto, você pode alterá-lo para atender às suas necessidades específicas de teste. Você pode especificar o tamanho da carga útil, em número de bytes, usando a opção -s
, o que resultará em um tamanho total do pacote igual ao valor fornecido mais 8 bytes extras para o cabeçalho ICMP.
$ ping -s 1000 www.google.com
8. Definir Pré-Carga de Ping
Se a pré-carga for adicionada, o ping envia essa quantidade de pacotes sem esperar por uma resposta. Note que apenas o root pode selecionar uma pré-carga de mais de 3; caso contrário, use o comando sudo para obter privilégios de root.
$ sudo ping -l 5 www.google.com
9. Definir Tempo Limite do Ping
É também possível definir o tempo de espera por uma resposta, em segundos, usando a opção -W
conforme mostrado.
$ ping -W 10 www.google.com
10. Definir Tempo Limite de Ping em Segundos
Para definir um tempo limite em segundos, antes do ping encerrar independentemente de quantos pacotes foram enviados ou recebidos, use a opção -w
.
$ ping -w 5 www.google.com
11. Depurar Pacotes ICMP do Ping
A opção -d
permite que você habilite os detalhes de pacotes IP de depuração conforme mostrado.
$ ping -d www.google.com
12. Saída Detalhada do Ping
Você pode habilitar a saída detalhada usando a opção -v
, como segue.
$ ping -v www.google.com
Nota: O Ping pode não ser necessariamente usado para testar a conectividade de rede, ele simplesmente informa se um endereço IP está ativo ou inativo.
Geralmente é usado em conjunto com o programa traceroute, mas, o MTR – uma ferramenta de diagnóstico de rede moderna combina a funcionalidade do ping e do traceroute e oferece muitos recursos adicionais.
Para uma lista abrangente de ferramentas de rede, confira: Gestão de Rede, Solução de Problemas e Depuração do Linux
Resumo
Ping é um método muito comum para solucionar a acessibilidade de hosts em uma rede. Neste artigo, explicamos 12 exemplos práticos de comandos ping para testar a acessibilidade de um dispositivo em rede. Compartilhe seus pensamentos conosco através do formulário de comentários abaixo.