![需要理解:ping](https://linux22.com/image/645079/%E9%9C%80%E8%A6%81%E7%90%86%E8%A7%A3%EF%BC%9Aping.png)
我正在使用 ubuntu 13.10,之前我曾使用 ping 来检查服务器是否启动/关闭。
有人能帮我理解一下吗,因为我找不到任何解释,所以我做了通常的 ping 命令
ping 8.8.8.8
不包含 google 域名的输出
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=35.9 ms
请注意 IP 中的尾随 .(句点)
ping 8.8.8.8.
使用谷歌域名输出
64 bytes from google-public-dns-a.google.com (8.8.8.8): icmp_seq=1 ttl=48 time=35.3 ms
输出:
developer@chnphp006:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=35.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=35.7 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=46.2 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=36.6 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 35.779/38.658/46.276/4.415 ms
developer@chnphp006:~$ ping 8.8.8.8.
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from google-public-dns-a.google.com (8.8.8.8): icmp_seq=1 ttl=48 time=35.3 ms
64 bytes from google-public-dns-a.google.com (8.8.8.8): icmp_seq=2 ttl=48 time=35.1 ms
64 bytes from google-public-dns-a.google.com (8.8.8.8): icmp_seq=3 ttl=48 time=36.1 ms
64 bytes from google-public-dns-a.google.com (8.8.8.8): icmp_seq=4 ttl=48 time=35.8 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 35.128/35.631/36.145/0.441 ms
ping 命令中的结尾句点有什么区别?
更新:
这仅发生在Ubuntu系统,不在 centos/Debian 中。
其他示例:
developer@chnphp006:~$ ping 198.252.206.16
PING 198.252.206.16 (198.252.206.16) 56(84) bytes of data.
64 bytes from 198.252.206.16: icmp_seq=1 ttl=52 time=258 ms
64 bytes from 198.252.206.16: icmp_seq=2 ttl=52 time=258 ms
64 bytes from 198.252.206.16: icmp_seq=3 ttl=52 time=273 ms
^C
--- 198.252.206.16 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 258.144/263.339/273.598/7.278 ms
developer@chnphp006:~$ ping 198.252.206.16.
PING 198.252.206.16 (198.252.206.16) 56(84) bytes of data.
64 bytes from stackoverflow.com (198.252.206.16): icmp_seq=1 ttl=52 time=259 ms
64 bytes from stackoverflow.com (198.252.206.16): icmp_seq=2 ttl=52 time=267 ms
64 bytes from stackoverflow.com (198.252.206.16): icmp_seq=3 ttl=52 time=271 ms
^C
--- 198.252.206.16 ping statistics ---
7 packets transmitted, 6 received, 14% packet loss, time 6000ms
rtt min/avg/max/mdev = 258.292/264.777/274.093/6.447 ms
答案1
通常使用尾随的点来表示所使用的主机名是完全限定的域名(在 DNS 根下)。
附加点将阻止在 DNS 查找中将搜索域附加到(短)主机名。为什么它的结果与你示例中的结果相同,IP地址, 我不知道。
正常情况下,带有点的主机名.也会被解释为 FQDN,除非检测到 IP 地址的十进制表示形式(四个数字 [0-255],以点分隔),但是当在 IP 地址中添加尾随点时,该匹配规则会失败。
如果您的搜索域是example.com
且存在 A 记录www.example.com.
:
ping www
应解决:
ping www.example.com.
以及您的网络服务器的 A 记录,并导致一些 ICMP 数据包被发送到您的网络服务器。
ping www.
将会失败,因为据我所知没有顶级域名www
答案2
尾随的句点将其从仅以数字形式使用的 IP 地址更改为使用反向地址解析(in-addr.arpa 域)查找的域名。