De acordo com a página de manual, o comando “ping” do Linux usa o datagrama ECHO_REQUEST obrigatório do protocolo ICMP para obter um ECHO_RESPONSE ICMP de um host do gateway.
A página do manual usa muitos termos técnicos, mas tudo que você precisa saber é que o comando “ping” do Linux pode ser usado para testar se uma rede está disponível e quanto tempo leva para enviar e obter uma resposta da rede.
Por que você usaria o comando “ping”
A maioria de nós visita regularmente os mesmos sites úteis. Por exemplo, visitamos o site do BBB para ler as notícias e visitamos o site da ESPN para obter as notícias e os resultados do futebol. Sem dúvida, você terá seu próprio conjunto de sites importantes, como o TopGadget.
Imagine que você inseriu o endereço da web para TopGadget.com.br em seu navegador e a página não carregou. A causa disso pode ser uma de várias coisas.
Por exemplo, você pode não ter uma conexão com a Internet mesmo estando conectado ao roteador. Às vezes, o provedor de serviços de Internet localiza problemas que o impedem de usar a Internet.
Outra razão pode ser que o site está realmente fora do ar e indisponível.
Seja qual for o motivo, você pode verificar facilmente a conectividade entre seu computador e outra rede usando o comando “ping”.
Como funciona o comando Ping
Ao usar o telefone, você disca um número (ou, mais comumente, hoje em dia, escolhe o nome na agenda de endereços do telefone) e o telefone toca no terminal do receptor. Quando essa pessoa atende o telefone e diz “olá”, você sabe que tem uma conexão.
O comando “ping” funciona de maneira semelhante. Você especifica o endereço IP que é equivalente a um número de telefone ou endereço da web (o nome associado ao endereço IP) e “ping” envia uma solicitação para esse endereço. Quando a rede receptora recebe a solicitação, ela enviará de volta uma resposta que é basicamente um “alô”.
O tempo que a rede leva para responder é chamado de latência .
Exemplo de uso do comando “ping”
Para testar se um site está disponível, digite “ping” seguido do nome do site ao qual deseja se conectar. Por exemplo, para executar ping em Lifewire.com, você executaria o seguinte comando:
O comando ping envia continuamente solicitações à rede e quando uma resposta for recebida, você receberá uma linha de saída com as seguintes informações:
- número de bytes recebidos
- o endereço IP
- um número de sequência
- o tempo que leva para responder
Se a rede que você está tentando fazer ping não responder porque não está disponível, você será notificado sobre isso.
Se você souber o endereço IP da rede, poderá usá-lo no lugar do nome do site.
Obtenha um “ping” audível
Você pode fazer com que o comando ping faça um ruído sempre que uma resposta for retornada usando a opção “-a” como parte do comando, conforme mostrado no seguinte comando:
Retorne o endereço IPv4 ou IPv6
IPv6 é o protocolo de próxima geração para atribuição de endereços de rede, pois fornece combinações mais exclusivas possíveis e deve substituir o protocolo IPv4 no futuro.
O protocolo IPv4 atribui endereços IP da forma como estamos acostumados. (Por exemplo, 151.101.65.121).
O protocolo IPv6 atribui endereços IP no formato [fe80 :: 51c1 :: a14b :: 8dec% 12].
Se você deseja retornar o formato IPv4 do endereço de rede, pode usar o seguinte comando:
Para usar o formato somente IPv6, você pode usar o seguinte comando:
Limite o número de pings
Por padrão, quando você executa ping em uma rede, ele continua a fazê-lo até que você pressione CTRL e C ao mesmo tempo para encerrar o processo.
A menos que esteja testando a velocidade da rede, você provavelmente desejará apenas fazer o ping até receber uma resposta.
Você pode limitar o número de tentativas usando a opção “-c” da seguinte maneira:
O que acontece aqui é que a solicitação do comando acima é enviada 4 vezes. O resultado é que você pode receber 4 pacotes enviados e apenas 1 resposta.
Outra coisa que você pode fazer é definir um prazo de quanto tempo executar o comando ping usando a opção “-w”.
Isso define um prazo para o ping durar 10 segundos.
O que é interessante em executar os comandos desta forma é a saída, pois mostra quantos pacotes foram enviados e quantos recebidos.
Se 10 pacotes foram enviados e apenas 9 foram recebidos de volta, isso equivale a uma perda de pacote de 10%. Quanto maior a perda, pior é a conexão.
Você pode usar outro switch que inunda o número de solicitações para a rede receptora. Para cada pacote enviado, um ponto é exibido na tela e sempre que a rede responde, o ponto é retirado. Usando este método, você pode ver visualmente quantos pacotes estão sendo perdidos.
Você precisa ser um superusuário para executar este comando e ele realmente é apenas para fins de monitoramento de rede.
O oposto de inundação é especificar um intervalo mais longo entre cada solicitação. Para fazer isso, você pode usar a opção “-i” da seguinte maneira:
O comando acima fará ping em lifewire.com a cada 4 segundos.
Como suprimir a saída
Você pode não se preocupar com todas as coisas que acontecem entre cada solicitação enviada e recebida, mas apenas com a saída no início e no final.
Por exemplo, se você enviou o seguinte comando usando o switch “-q”, você receberá uma mensagem informando o endereço IP que está sendo pingado e, no final, o número de pacotes enviados, recebidos e a perda de pacotes sem que todas as linhas intermediárias sejam repetidas.
Resumo
O comando ping possui algumas outras opções que podem ser encontradas lendo a página de manual.