O ping é um utilitário de linha de comando, disponível em praticamente qualquer sistema operacional com conectividade de rede, que funciona como um teste para verificar se um dispositivo em rede pode ser acessado.
O comando ping envia uma solicitação pela rede a um dispositivo específico. Um ping bem-sucedido resulta em uma resposta do computador que recebeu o ping de volta ao computador de origem.
De acordo com o autor, o nome ping vem da terminologia de sonar. No sonar, um ping é uma onda sonora audível enviada para encontrar um objeto. Se o som atingir o objeto, as ondas sonoras se refletirão, ou ecoarão, de volta à fonte. A distância e a localização do objeto podem ser determinadas medindo-se o tempo e a direção da onda sonora que retorna.
Da mesma forma, o comando ping envia uma solicitação de eco. Se encontrar o sistema de destino, o host remoto envia de volta uma resposta de eco. A distância (número de saltos) até o sistema remoto pode ser determinada a partir da resposta, bem como as condições intermediárias (perda de pacotes e tempo de resposta). Embora o autor do utilitário ping tenha dito que o nome do programa era simplesmente baseado no som do sonar, outros dizem que ping é um acrônimo de Packet InterNet Groper.
Os alertas personalizados e a visualização de dados permitem que você identifique e evite rapidamente problemas de saúde e desempenho da rede.
O utilitário ping usa a solicitação de eco e as mensagens de resposta de eco no Protocolo de Mensagens de Controle da Internet (ICMP), parte integrante de qualquer rede IPS. Quando um comando ping é emitido, um pacote de solicitação de eco é enviado ao endereço especificado. Quando o host remoto recebe a solicitação de eco, ele responde com um pacote de resposta de eco.
Por padrão, o comando ping envia várias solicitações de eco, normalmente quatro ou cinco. O resultado de cada solicitação de eco é exibido, mostrando se a solicitação recebeu uma resposta bem-sucedida, quantos bytes foram recebidos em resposta, o tempo de vida (TTL) e quanto tempo a resposta levou para ser recebida, juntamente com estatísticas sobre perda de pacotes e tempos de ida e volta.
A solicitação de eco ("ping") é estruturada da seguinte forma:
A resposta do eco deve incluir o payload exato recebido na solicitação:
O utilitário ping foi incorporado em praticamente todos os sistemas operacionais com suporte de rede. Embora a solicitação e a resposta de eco sejam mensagens ICMP, a implementação exata do utilitário ping varia ligeiramente entre os fabricantes.
Em sua forma mais simples, o utilitário ping pode ser executado com nada mais do que o comando ping e um destino. O host remoto pode ser especificado por nome ou endereço.
A seguir, a saída de um ping simples para o host de destino paessler.com:
No entanto, o utilitário ping também oferece várias opções personalizáveis.
As notificações em tempo real significam uma solução de problemas mais rápida para que você possa agir antes que ocorram problemas mais sérios.
Há várias opções disponíveis para o comando ping que permitem que as configurações padrão sejam personalizadas para fins mais específicos. Infelizmente, não há consistência entre as plataformas para as diferentes opções. Por exemplo, o Windows usa um -n (número) para definir quantos pings enviar, enquanto a maioria dos sistemas Unix usa um -c (contagem).
Aqui estão alguns exemplos de opções do comando ping. Geralmente, o uso de ping -? resultará em uma lista de opções juntamente com a letra correspondente para usar a opção no sistema operacional.
Número (ou contagem) - define o número de solicitações de eco, ou pings, a serem enviados. Por padrão, esse número é quatro na maioria dos sistemas Windows e cinco na maioria dos sistemas Unix. A definição de um número maior permite que o ping continue a ser executado como uma forma de coletar mais dados, por exemplo, para ver se o tempo de resposta varia, ou como uma forma de garantir que um sistema continue a ser responsivo.
Tempo limite - altera o tempo limite antes de o utilitário aguardar uma resposta do destino. Nos sistemas Windows, o valor padrão é 4.000 milissegundos, ou 4 segundos.
Tamanho - altera o tamanho do pacote de ping. O valor padrão no Windows é 32 bytes; em muitos sistemas Unix/Linux, o padrão é 64 bytes.
TTL - define um TTL diferente.
IP4 ou IP6 - responde com endereços IPv4 ou IPv6. (ping -4/ping -6 no Windows, ping ou ping6 no Linux)
Até ser interrompido - continua executando o ping até ser interrompido pelo usuário (-t no Windows)
Para um utilitário tão pequeno e básico, o comando ping pode ser uma ferramenta valiosa em várias situações. Por ser um utilitário baseado em linha de comando, o ping é fácil de usar em vários scripts, permitindo que vários pings sejam executados e registrados para todos os tipos de uso. Por exemplo, a saída do comando ping pode ser facilmente canalizada para um arquivo de texto para análise posterior.
Talvez o uso mais comum do utilitário ping seja na solução de problemas. Ao tentar usar aplicativos ou sistemas em uma rede, a coisa mais importante a saber é se há realmente uma conexão funcionando. Uma série de comandos de ping pode ajudar a determinar qual é o problema.
Um ping rápido por endereço IPS confirmará que o sistema está ligado, que há uma conexão e que as duas máquinas podem se comunicar entre si.
Se o ping for bem-sucedido por nome e endereço IPS, mas os tempos de resposta forem longos, pode haver um problema de roteamento, velocidade da rede ou congestionamento. Mesmo os pings malsucedidos podem fornecer informações valiosas para a solução de problemas.
Se um ping por endereço IPS for bem-sucedido, mas um ping por nome falhar, então há um problema de resolução de nomes. Se o ping falhar completamente, você pode tentar pingar outras partes da rede para isolar o problema. Um ping bem-sucedido do gateway padrão confirma que a conexão de rede está funcionando, mas que algo está interferindo na conexão com o sistema remoto.
Se o ping for bem-sucedido na mesma sub-rede do sistema remoto, mas não no próprio sistema de destino, a conectividade de rede do host remoto está em dúvida. Se o gateway padrão não puder ser pingado, mas o endereço de loopback (127.0.0.1) resultar em um ping bem-sucedido, você saberá que a interface de rede está funcionando, mas não há conexão com a rede.
Se o ping não obtiver resposta do host de destino, a maioria das implementações do ping não exibirá nada ou exibirá uma notificação de tempo limite. O resultado pode ser parecido com este, por exemplo:
O ping pode ser usado como uma ferramenta de descoberta rápida e simples. Como praticamente qualquer dispositivo conectado à rede responderá a um ping, o ping de um intervalo de endereços, por exemplo, permitiria que um administrador encontrasse todos os dispositivos conectados nesse intervalo, independentemente do tipo de dispositivo ou sistema operacional.
O ping pode ser usado para monitorar a disponibilidade de dispositivos na rede. Um comando ping executado como uma tarefa cronograma pode oferecer uma sondagem rudimentar de qualquer computador ou dispositivo em rede sem a necessidade de instalação de agentes de software adicionais e sem a necessidade de abrir portas adicionais. O mais básico de qualquer monitorar de cima para baixo poderia ser realizado executando um ping com a opção "executar até parar". Quando os pings começam a falhar, é porque há um problema que está atingindo o sistema.
Obviamente, essas soluções são muito melhoradas com a adição de uma ferramenta de monitoramento como o PRTG, que, embora use comandos de ping subjacentes, não depende de alguém que observe a saída ou canalize a saída para algum tipo de registro.
O sensor Ping padrão executa comandos de ping em segundo plano. Eles podem ser configurados para serem executados em intervalos específicos ou em resposta a outro evento. Por exemplo, se um sensor relata uma falha de conexão, um ping pode determinar se ainda há uma conexão de rede. Ou os monitores podem ser configurados para alertar um administrador se o tempo de ping for muito longo ou se houver muita perda de pacotes.
Outro sensor interessante baseado em ping é o Cloud Ping Sensor, que faz ping nos sistemas monitorados a partir de uma nuvem remota de sistemas distribuídos. Isso fornece o alerta importante, mas difícil de detectar, quando tudo está funcionando bem do seu lado, mas, por qualquer motivo, seus sistemas não podem ser acessados de fora por usuários ou clientes remotos.
O PRTG é um software abrangente de monitoramento de rede e mantém o controle de toda a sua infraestrutura de TI.
O simples fato de saber que um sistema existe e está conectado à rede pode ser informação suficiente para um invasor começar. A análise cuidadosa das respostas do ping pode gerar informações adicionais, como o sistema operacional que o alvo está executando, onde a máquina está localizada e assim por diante.
Muitas ferramentas de hacking aproveitam a vantagem de "percorrer o intervalo", fazendo ping em todos os endereços IPS em uma rede alvo para obter uma lista de quais sistemas são acessíveis e responderão. Como resultado, muitos firewalls são configurados para bloquear solicitações de ping de redes não confiáveis.