Se você man ping
de sua versão, verá que uma das opções é a opção hop
( ping [hop ...] destination
), isso permite que você direcione seu destino pelo hop
e seja útil se você tiver vários gateways e deseja informar explicitamente a rota do ping.
Portanto, ping ping localhost
vai pingar localhost
usando ping
, pois é hop
. Mas a verdadeira questão é por que ping ping
funciona e não retorna um erro unknown host
? Deve-se notar que fazer um ping ping
no Windows e algumas variações do BSD retornam o erro unknown host
, mas não pelas razões que se pode pensar inicialmente.
Se eu fizer um ping ping
no meu sistema, eu recebo de volta 127.0.53.53
, e depois de algumas pesquisas, eu encontrei um respostas relacionadas que ajudam a explicar este resultado; Em suma, isso tem a ver com o servidor DNS que você está usando e com a estrutura de colisão de nomes da ICANN, que retorna o endereço 127.0.53.53
para determinados TLDs genéricos ( ping
sendo um deles aparentemente). Alguns sistemas operacionais e versões do utilitário ping
podem anexar um TLD (ou seu domínio local) ao destino, portanto, se você tiver ping ping
, ele poderá realmente fazer um ping ping.com
ou ping ping.localdomain
e retornar os resultados esperado (vs. dando 127.0.53.53
).
Isso deve ajudar a explicar por que você vê a perda de pacotes quando você executa ping ping localhost
; você está roteando seus pings pelo localhost
para pingar seu localhost
, que se seu sistema não estiver configurado para fazer isso (solicitações de ping de rota), ele falhará e retornará a perda de pacotes que você está vendo. / p>
Espero que isso possa ajudar.