O 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 de Protocolo de Controle de Mensagens da Internet (ICMP) para o host de destino e aguardando uma resposta de eco ICMP (ou RESPOSTA DE ECO).
Você pode executar um teste de ping para estabelecer se 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 o tempo que leva para os pacotes chegarem ao host de destino e retornarem 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.
Sua saída é uma lista de respostas do host de destino junto com o tempo levado para o último pacote chegar ao host de destino e retornar 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 mínimos, máximos e médios de ida e volta, e o desvio padrão da média (mdev). No caso de falha no teste de ping, você verá mensagens de erro como saída.
Exemplos de Comando Ping no Linux
Neste artigo, explicaremos 12 exemplos práticos de comandos ping para testar a acessibilidade de um host em uma rede.
Sumário
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 é alcançá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
Saída de Exemplo:
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 pacotes perdidos. 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 que você está executando em um servidor.
Se, por exemplo, você tem um aplicativo da web onde uma única solicitação de usuário resulta em tantas consultas a um banco de dados para gerar resultados na interface do usuário, então um tempo de ping mais baixo para aquele servidor específico implica que mais dados estão sendo transmitidos sem atraso e o oposto é 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 sai, usando a opção -c
como 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 Tempo Limite do Intervalo de Ping
A opção -i
permite definir intervalos em segundos entre o envio de cada pacote, o valor padrão é 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 de Negação de Serviço (DoS) com Sobrecarga de Ping, também conhecido como Ping da Morte
Para determinar a resposta de sua rede em condições de alta carga, você pode executar um “ping de sobrecarga” 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 envio de ping para um broadcast usando a opção -b
, que receberá 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; diferentes sistemas operacionais 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, ele o descarta 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 o Tamanho do Pacote 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 de teste específicas. 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 do valor fornecido mais 8 bytes extras para o cabeçalho ICMP.
$ ping -s 1000 www.google.com
8. Definir Pré-carregamento do Ping
Se o pré-carregamento for adicionado, o ping enviará tantos pacotes sem esperar por uma resposta. Observe que apenas o root pode selecionar um pré-carregamento 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 para 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 que o ping seja encerrado 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 do pacote IP de depuração conforme mostrado.
$ ping -d www.google.com
12. Saída Verbosa do Ping
Você pode habilitar a saída verbosa usando a opção -v
, conforme segue.
$ ping -v www.google.com
Nota: O ping pode não necessariamente ser usado para testar a conectividade de rede, ele simplesmente informa se um endereço IP está ativo ou inativo.
Geralmente é usado junto com o programa traceroute, mas o MTR – uma ferramenta de diagnóstico de rede moderna combina a funcionalidade do ping e traceroute e oferece muitos recursos adicionais.
Para uma lista abrangente de ferramentas de rede, confira: Gerenciamento, Solução de Problemas e Depuração de Rede no 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 alcançabilidade de um dispositivo em rede. Compartilhe seus pensamentos conosco através do formulário de comentário abaixo.