我在工作时打错了字,但我确实执行了
ping ping localhost
我得到了
PING localhost.localdomain (127.0.0.1) 56(124) bytes of data.
100% 丢包。显然,如果我输入
ping localhost
输出
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
所有数据包均已接收。
我的问题是:ping ping localhost 到底是做什么的?参数如何解释?为什么会丢包?
谢谢
答案1
如果您man ping
是您的版本,您会看到其中一个选项是hop
选项(ping [hop ...] destination
),这可让您通过 ping 您的目的地,hop
如果您有多个网关并想要明确告知 ping 的路由,这将很有用。
因此,在使用时ping ping localhost
执行 ping 是。但真正的问题是为什么 可以工作而不返回错误?应该注意的是,在 Windows 和 BSD 的一些变体上执行 会返回错误,但原因可能与最初想象的不同。localhost
ping
hop
ping ping
unknown host
ping ping
unknown host
如果我在我的系统上执行ping ping
,我会返回127.0.53.53
,经过一番探索后,我发现了一个相关答案这有助于解释这一结果;简而言之,它与您使用的 DNS 服务器和 ICANN 的命名冲突框架有关,该框架会返回127.0.53.53
某些通用 TLD(ping
显然是其中之一)的地址。某些操作系统和实用程序版本ping
可能会将 TLD(或您的本地域)附加到您的目的地,因此如果您这样做ping ping
,它实际上可以执行ping ping.com
或ping ping.localdomain
并返回预期的结果(而不是给出127.0.53.53
)。
这应该有助于解释为什么您在执行时会看到数据包丢失ping ping localhost
;您正在通过您的路由localhost
来 ping 您的localhost
,如果您的系统未设置这样做(路由 ping 请求),它将会失败并返回您看到的数据包丢失。
希望能够帮到你。