怎么ping" -n"国旗工作?它会影响响应时间吗? (Linux)的

时间:2015-09-03 03:05:28

标签: linux ping hostname

我的问题有2个方面,首先我想知道" -n"标志在Linux中为ping命令工作,特别是当我放置" -n"时ping程序避免做什么步骤。标志以及如何优化查询(或加快响应速度,如果是这样)?我还想知道什么是主机的符号名称?我需要知道了解-n标志。

我的研究:

来自Linux终端的ping手册(man ping)说:" -n:仅限数字输出。不会尝试查找主机地址的符号名称"。
从那个引用我已经有一个疑问:我不知道主持人的符号名称,谷歌搜索没有帮助...

然后我用标志-n测试了ping命令,没有它,使用的主机名是www.gmail.com,结果只有" FROM"输出部分:
没有-n我得到了:来自mia07s27-in-f165.1e100.net(216.58.219.165)的64字节
使用-n我得到:来自216.58.219.165的64字节 所以我猜这个特定主机的符号名称是:" mia07s27-in-f165.1e100.net",但是什么意思?怎么样获取此符号名称的过程是什么?

我的想法:

我有一个关于它如何起作用的理论:
默认情况下,当我不包含" -n"标志,ping程序发送主机回应请求数据包,该数据包将指示我没有使用" -n"标志,因此主机使用包含有关其符号名称信息的Echo Response数据包进行响应。当我使用" -n"标志该位将变为1(或0,谁知道..)这将指示主机他不必包含有关其符号名称的额外信息,这反过来将使ping响应时间更低,但这一次是微不足道的,并且不会引人注意。

你能证实我编造的这个理论吗?这是正确的吗?

1 个答案:

答案 0 :(得分:2)

我之前从未使用过-n标志,但它相当微不足道。符号名称是您将使用的网站的正常名称,因此请说" google.com"。但是,正如我们所知,没有像#34; google.com"这样的东西,而是与此相对应的地址(例如192.168.10.1)。虽然您可能已经知道这一点,但执行此操作的服务使用DNS,即域名服务器。 DNS将这些符号名称映射到数字地址
因此,根据手册页,-n标志将为您保存DNS查询。

刚才在我的Linux发行版中,我用ping google.com进行谷歌搜索。这就是结果:

PING google.com (173.194.123.6) 56(84) bytes of data.
64 bytes from lga15s46-in-f6.1e100.net (173.194.123.6): icmp_seq=1 ttl=55 time=13.4 ms
64 bytes from lga15s46-in-f6.1e100.net (173.194.123.6): icmp_seq=2 ttl=55 time=13.5 ms
64 bytes from lga15s46-in-f6.1e100.net (173.194.123.6): icmp_seq=3 ttl=55 time=13.5 ms

正如您在没有-n选项的情况下ping时所看到的那样,您将执行dns查询以识别传入的回应请求数据包的IP地址。

然后,如果您使用ping -n google.com ping google.com,您会看到以下内容:

PING google.com (173.194.123.101) 56(84) bytes of data.
64 bytes from 173.194.123.101: icmp_seq=1 ttl=56 time=4.02 ms
64 bytes from 173.194.123.101: icmp_seq=2 ttl=56 time=4.07 ms
64 bytes from 173.194.123.101: icmp_seq=3 ttl=56 time=4.01 ms

在这里你可以看到使用-n,我们没有查询dns来搜索IP地址173.194.123.101所代表的符号名称。此外,您可以在时间上看到,如果没有此查询,ping时间实际上会缩短。