O Windows dis­po­ni­bi­liza vários comandos de rede que podem ser acionados pelo prompt de comando (CMD). Eles pos­si­bi­li­tam vi­su­a­li­zar in­for­ma­ções re­le­van­tes e con­fi­gu­rar de­fi­ni­ções de rede. Um desses comandos é o ping. Entenda o que é comando ping e como você pode usá-lo para realizar di­ag­nós­ti­cos de rede.

O que é ping?

Ping é uma fer­ra­menta de di­ag­nós­tico de rede para o prompt de comando do Windows. O programa de linha de comando pos­si­bi­lita que você verifique se outro com­pu­ta­dor está dis­po­ní­vel na rede local ou pública à qual seu com­pu­ta­dor está conectado.

Você pode acessar o ping por uma linha de comando de mesmo nome em com­bi­na­ção com o endereço IP ou hostname do com­pu­ta­dor de destino. Se o com­pu­ta­dor de destino não estiver conectado à mesma rede do com­pu­ta­dor de origem, torna-se ne­ces­sá­rio es­pe­ci­fi­car seu domínio.

O termo “ping” faz analogia à tec­no­lo­gia de sonar, que localiza objetos ao emitir ondas sonoras. Ela surgiu durante a Segunda Guerra Mundial e era usada para encontrar sub­ma­ri­nos. À época, as ondas sonoras emitidas eram per­ce­bi­das pelos sub­ma­ri­nos como leves batidas, que foram as­so­ci­a­das à ono­ma­to­peia “ping”.

Como o ping funciona?

Para verificar a dis­po­ni­bi­li­dade de um com­pu­ta­dor, o comando ping envia, em sua con­fi­gu­ra­ção padrão, quatro pacotes ICMP de 32 bytes cada, do tipo echo request, ao endereço atribuído como parâmetro.

ICMP (Protocolo de Mensagens de Controle da Internet) é um protocolo que pos­si­bi­lita a troca de in­for­ma­ções e no­ti­fi­ca­ções de erros em redes IPv4. Nas redes que usam IPv6, o ICMPv6, é usado para essa mesma fi­na­li­dade.

Em teoria, segundo as es­pe­ci­fi­ca­ções do protocolo, com­pu­ta­do­res que suportam ICMP e/ou ICMPv6 devem responder au­to­ma­ti­ca­mente aos echo requests que chegam, emitindo um ICMP echo reply. Na prática, isso nem sempre acontece, já que muitos usuários, por questões de segurança, con­fi­gu­ram os com­pu­ta­do­res que gerenciam para que rejeitem pacotes ICMP, não enviando uma resposta. Dessa forma, a in­dis­po­ni­bi­li­dade do com­pu­ta­dor de destino não pode ser inferida somente por este não ter res­pon­dido à so­li­ci­ta­ção do ICMP.

Se o com­pu­ta­dor de destino não responde, o ICMP produz uma no­ti­fi­ca­ção do gateway adequado. Ge­ral­mente, neste caso, um roteador responde. Duas respostas são possíveis: que a rede está in­dis­po­ní­vel ou que o host apro­pri­ado está in­dis­po­ní­vel.

Se não houver resposta do roteador, pode-se presumir que o com­pu­ta­dor está sim dis­po­ní­vel. Ele só não teria res­pon­dido au­to­ma­ti­ca­mente ao echo request por questão de con­fi­gu­ra­ção.

Um comando ping retorna com as seguintes in­for­ma­ções ao so­li­ci­tante:

  • Tempo de resposta em mi­lis­se­gun­dos (ms)
  • Tempo de validade para pacotes ICMP (time to live, TTL) — somente com IPv4

O tempo de resposta indica quanto tempo um pacote de dados leva para ser enviado ao com­pu­ta­dor de destino e retornar à sua origem. O período de validade, re­pre­sen­tado por TTL, cor­res­ponde ao tempo decorrido de um pacote de dados. O valor inicial máximo é 255. Em geral, im­ple­men­ta­ções têm TTL inicial de 31, 63 ou 127. O TTL é reduzido em 1 a cada nó de rede (hop) pelo qual o pacote de dados passa. Se o TTL chegar a 0, o pacote de dados é rejeitado.

Em geral, o TTL apre­sen­tado como resultado cor­res­ponde ao valor inicial do com­pu­ta­dor que enviou a resposta, subtraído pelo número de hops na rota.

Por exemplo, com um TTL de 58, é possível presumir que o pacote de resposta foi disparado com um valor inicial de 63 e passou por cinco nós de rede na rota de volta.

Nota

O TTL é, na prática, meramente in­for­ma­tivo. Para o usuário que emite o comando ping, o valor inicial do TTL e os nós de rede que o alteraram di­fi­cil­mente são ras­treá­veis.

Teste uma conexão de rede com o comando ping

No di­ag­nós­tico de rede, o programa de linha de comando apresenta in­for­ma­ções de ping sobre a qualidade da conexão de rede entre dois com­pu­ta­do­res.

Siga o tutorial passo a passo abaixo para realizar um teste de ping e descobrir se o ro­te­a­mento entre seu sistema e o com­pu­ta­dor de destino está fun­ci­o­nando. Descubra também o atraso que você pode esperar ao trans­fe­rir dados entre eles.

Passo 1: Abra o prompt de comando do Windows. Use a com­bi­na­ção de teclas [Windows] + [R] para vi­su­a­li­zar a caixa de diálogo “Executar”. Insira o comando “cmd” no campo “Abrir” e confirme, pres­si­o­nando a tecla [Enter].

Imagem: Caixa de diálogo Executar
Caixa de diálogo Executar do Windows 10

O Windows abrirá o programa CMD.exe, a linha de comando deste sistema ope­ra­ci­o­nal.

Imagem: Prompt de comando do Windows
A janela CMD.exe é a interface de linha de comando da família Windows NT. Ela é ofi­ci­al­mente chamada de prompt de comando pela Microsoft. Outros termos também são usados, como terminal, console e linha de comando

Passo 2: Execute o comando ping com pa­râ­me­tros. Digite ping na linha de comando e informe o endereço IP ou hostname do com­pu­ta­dor de destino como parâmetro. Faça isso adi­ci­o­nando as in­for­ma­ções cor­res­pon­den­tes, separando-as por um espaço.

Comando ping com o endereço IP do com­pu­ta­dor de destino:

ping 8.8.8.8
batch

Comando ping com o hostname e o domínio do com­pu­ta­dor de destino:

ping google-public-dns-a.google.com
batch
Imagem: Linha de comando ping
Usamos o endereço IP 8.8.8.8 do servidor DNS informado pelo Google como o parâmetro para o comando ping

Pressione [Enter] para confirmar sua entrada e executar o comando CMD com o parâmetro escolhido.

Passo 3: Receba o resultado do comando ping. Se o ping for executado sem opções adi­ci­o­nais, o programa enviará quatro pacotes de dados ao com­pu­ta­dor de destino e apre­sen­tará in­for­ma­ções es­ta­tís­ti­cas sobre as consultas feitas.

O resultado exibido pelo terminal inclui tabela que lista tempos de resposta cor­res­pon­den­tes, o tamanho do pacote e o TTL por pacote de resposta. Além disso, você também receberá in­for­ma­ções es­ta­tís­ti­cas sobre pacotes enviados, recebidos e perdidos, incluindo per­cen­tual de perda de pacotes, bem como análise sobre tempos de resposta mínimos, máximos e em média.

Imagem: Estatísticas de ping no terminal do Windows
O tempo de resposta do servidor DNS do Google foi, em média, de 24 ms. Com um TTL de 119, podemos presumir que cada pacote passou por oito nós de rede, pois 127 - 8 = 119

Você receberá um resultado similar se realizar o teste de ping usando o hostname do com­pu­ta­dor de destino.

Neste caso, o nome do com­pu­ta­dor será resolvido a partir do endereço IP, pelas con­fi­gu­ra­ções DNS continas pelo seu sistema ope­ra­ci­o­nal. Endereço IP e es­ta­tís­ti­cas de ping serão exibidos a você pelo terminal.

Imagem: Estatísticas de ping no terminal do Windows
No exemplo, o hostname “google-public-dns-a.google.com” é resolvido a partir do endereço IP 8.8.8.8 e recebe quatro pacotes de ping

Por outro lado, se o com­pu­ta­dor de destino não estiver dis­po­ní­vel, o resultado mostrado pelo terminal será diferente. As in­for­ma­ções apre­sen­ta­das de­pen­de­rão do parâmetro usado (endereço IP ou hostname).

Se o endereço IP es­pe­ci­fi­cado não estiver dis­po­ní­vel, o pacote de resposta esperado não chegará dentro do limite de tempo definido. Neste caso, você receberá a resposta “Request has timed out” (tempo limite do pedido esgotado) pelo terminal.

Imagem: Teste de ping fracassado
ICMP echo request fra­cas­sado para o endereço IP 8.8.8.7

Se o comando ping do hostname informado não for resolvido a partir do endereço IP cor­res­pon­dente (devido a um erro de digitação, por exemplo), você receberá a seguinte mensagem de erro:

Imagem: Teste de ping fracassado
ICMP echo request fra­cas­sado para um com­pu­ta­dor com o nome “gogle-public-dns-a.google.com”

Opções do comando ping

Se ne­ces­sá­rio, você pode executar um comando ping com diversas opções para ajustar o valor padrão do ICMP echo request. A tabela abaixo apresenta as opções mais im­por­tan­tes de linha de comando.

Opção (escolha) Descrição
-t Com a opção -t, o com­pu­ta­dor de destino recebe os pacotes ping até que você encerre o pro­ce­di­mento com as teclas [Ctrl] + [C], para que as es­ta­tís­ti­cas sejam exibidas. Este comando é chamado de ping contínuo (veja a dica ao final da tabela).
-a \<ip> Use o comando ping com a opção -a e o endereço IP do com­pu­ta­dor de destino para de­ter­mi­nar o hostname de destino. O nome do com­pu­ta­dor será exibido jun­ta­mente com as es­ta­tís­ti­cas de ping no terminal.
-n \<number> Com a opção -n você define o número desejado de ICMP echo requests. A con­fi­gu­ra­Ã§Ã£o padrão envia quatro so­li­ci­ta­Ã§Ãµes ping.
-l \<size> Com a opção -l você define o tamanho do ICMP echo request em bytes. O valor padrão é 32. O comando ping pode ser usado para enviar pacotes de dados com tamanho máximo de 65.527 bytes.
-f Se o comando ping é executado com a opção -f, o programa define a flag “Do not fragment” (“não frag­men­tar”) como 1 no cabeçalho IP do pacote do ICMP echo request. Assim, a so­li­ci­ta­Ã§Ã£o não poderá ser dividida em unidades menores pelos nós de rede na rota até o destino. Esta opção só está dis­po­ní­vel em redes IPv4.
-i \<TTL> Use a opção -i se você quiser definir um TTL para o seu ICMP echo request. O valor máximo é 255.
-4 A opção -4 obriga o uso de IPv4 e só pode ser aplicada se o des­ti­na­tá­rio for en­de­re­Ã§ado por hostname.
-6 A opção -6 obriga o uso de IPv6 e só pode ser aplicada se o des­ti­na­tá­rio for en­de­re­Ã§ado por hostname.
Dica

Aprenda os comandos CMD mais im­por­tan­tes com o nosso Digital Guide. Descubra também como usar o comando ping para realizar testes de ping contínuo.

Ir para o menu principal