
O comando ping é um dos utilitários mais usados para solucionar problemas, testar e diagnosticar problemas de conectividade de rede.
O ping funciona enviando um ou mais pacotes de solicitação de eco ICMP (Internet Control Message Protocol) para um IP de destino especificado na rede e aguarda uma resposta. Quando o destino receber o pacote, ele responderá com uma resposta de eco ICMP.
Com o comando ping, podemos determinar se um IP de destino remoto está ativo ou inativo, encontrar o atraso de ida e volta na comunicação com o destino e verificar se há uma perda de pacote.
O utilitário ping é uma parte do pacote iputils (ou iputils-ping) que é pré-instalado em quase todas as distribuições do Linux. O comando ping também está disponível no Windows, MacOSX e FreeBSD.
Como Usar o Comando Ping
A sintaxe do comando ping é a seguinte:
ping [OPTIONS] DESTINATION
Para melhor ilustrar como o comando ping funciona, vamos dar ping google.com:
$ ping google.com
A saída será algo como isto:
PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms
O comando ping resolverá o nome do domínio em um endereço e começará a enviar pacotes ICMP ao IP de destino. Se o IP de destino estiver acessível, ele responderá de volta e o comando ping imprimirá uma linha que inclui os seguintes campos:
- O número de bytes de dados. O padrão é 56, que se traduz em 64 bytes de dados ICMP – 64 bytes
- O endereço IP do destino –
from muc11s01-in-f14.1e100.net (172.217.22.206) - O número de seqüência do ICMP para cada pacote.
icmp_seq=1 - O tempo de vida (The Time to Live). –
ttl=53 - O tempo de ping, medido em milissegundos, é o tempo de ida e volta para o pacote atingir o host e a resposta retornar ao remetente. –
time=41.4 ms
Por padrão, o intervalo entre o envio de um novo pacote é de um segundo.
O comando ping continuará a enviar pacotes ICMP para o endereço IP de destino até receber uma interrupção. Para parar o comando, basta apertar a combinação de teclas Ctrl + C.
Quando o comando parar, exibirá uma estatística incluindo a porcentagem de perda de pacotes. A perda de pacotes significa que os dados foram descartados em algum lugar da rede, indicando um problema dentro da rede. Se houver uma perda de pacotes, você poderá usar o comando traceroute para identificar onde a perda de pacotes ocorre.
Se o ping não retornar uma resposta, significa que a comunicação da rede não está estabelecida. Se isso acontecer, nem sempre significa que o IP de destino não está ativo, alguns hosts podem ter um firewall que está bloqueando o tráfego ICMP ou estão configurados para não responder a solicitações de ping.
No sucesso, o comando ping sai com o código 0, caso contrário, ele sairá com o código 1 ou 2. Isso pode ser útil se você estiver usando o utilitário ping em um script de shell.
Nas seções a seguir, veremos as opções de comando ping mais usadas.
Especifique o número de pacotes
Como já discutimos, por padrão, o comando ping continuará enviando pacotes ICMP até receber um sinal de interrupção. Para especificar o número de pacotes de solicitação de eco a serem enviados após o qual o ping sairá, use a opção -c seguida do número dos pacotes:
ping -c 1 DESTINATION
Por exemplo, para pingar semprelinux.com apenas uma vez você usaria
$ ping -c 1 semprelinux.com
Especifique a interface de origem
Por padrão, o ping enviará pacotes ICMP por meio da rota padrão. Se você tiver várias interfaces em sua máquina, poderá especificar a interface de origem com a opção -I:
ping -I INTERFACE_NAME DESTINATION
O comando a seguir fará o ping do semprelinux.com usando em2 como uma interface de origem:
$ ping -I em2 semprelinux.com
Especifique o protocolo da Internet
Quando você executa o comando ping, ele usa IPv4 ou IPv6, dependendo das configurações de DNS da sua máquina.
Para forçar o ping a usar o IPv4, passe a opção -4 ou use seu alias ping4. Para IPv6, passe a opção -6 ou use ping6.
ping -4 DESTINATION
ping -6 DESTINATION
Conclusão
Até agora você deve ter um bom entendimento de como usar o comando ping do Linux. Você sempre pode ver todas as opções de comando ping disponíveis digitando man ping no seu terminal.
Fonte: Linuxize