dig命令:帮你记录DNS寻址全过程

作者:dig命令:帮你记录DNS寻址全过程 来源:未知 2022-06-21 09:08   阅读:

在《DNS自述:我是如何为域名找到家的》这篇文章里,我们了解了域名的DNS解析过程。但整个过程都是我在说,你们在听,总感觉干巴巴的,没有实操来得记忆深刻。

在《DNS自述:我是如何为域名找到家的》这篇文章里,我们了解了域名的 DNS 解析过程。但整个过程都是我在说,你们在听,总感觉干巴巴的,没有实操来得记忆深刻。那有没有一些命令可以让我们看到 DNS 的解析过程呢?

那肯定是有的,今天就带大家认识一些关于 DNS 解析的命令。简单地说,最常用的 DNS 解析命令有:

  • dig 命令
  • host 命令
  • nslookup 命令
  • whois 命令

如果我们要查找某个网址的寻址过程,那么我们可以使用下面语法:,例如:


运行的结果是:


上面的结果可以分为4个部分。

第一部分是综述,说明此次命令一共查询了几次,有几个回答。


第二部分是 ,即说明此命令发送了什么样的指令。这里表示我们询问 域名的 A 记录。


第三部分是 ,即说明此命令执行后返回的结果。这里的结果表明 域名的 A 记录指向了 这个 IP。


第四部分是总结,即说明此次查询的一些信息,例如:查询耗时,本地DNS地址,查询时间,返回消息包大小。



当我们用 查询时,会显示出整个寻址过程。但如果我们只想要看到最终的结果,那么我们可以加上 参数。这样控制台直接返回该域名对应的 IP 地址。例如当我们执行下面的命令,其直接返回了 这个 IP 地址。



当我们使用 进行 DNS 寻址时,其默认向我们的本地 DNS 服务器寻址。如果我们想向特定的 DNS 服务器寻址,我们可以用下面的命令:


上面的命令表明:向 8.8.8.8 DNS 服务器寻找 math.stackexchange.com 域名的 DNS 解析结果。其返回结果为:


从返回结果可以看到,当我们向 DNS 服务器寻址时,其返回了 4 个 IP 地址。但我们向本地 DNS 服务器寻址时,却会返回了 1 个 IP 地址。这说明了不同 DNS 服务器所存储的解析记录不同,并不说某个 DNS 服务器是错误的。这里 8.8.8.8 是谷歌的 DNS 服务器,所以拥有的解析记录更加全面。而本地 DNS 服务器是 ISP 运营商的,其解析记录相对来说少一些。

在之前「A记录都不懂,怎么做开发Leader?」中我们讲过,域名解析有许多种类型,包括:NS类型、A 类型、MX 类型等。而我们可以使用 dig 命令去查询其解析类型的值,其语法为:


例如我们查看下 这个域名的 NS 记录,那么其执行命令及其结果为:


可以看到 一共有 2 个 NS 解析结果,指向了 和 。

我们继续看下 这个域名的 A 记录,其执行结果为:


可以看到,其只有一个结果,指向的 IP 为:。我们继续看看 的 MX 记录:


可以看到其返回了一条类型为 的记录,这表明 的 记录不存在。

我们上面都是通过域名查询 IP,但其实我们也可以通过 IP 去查询其对应的域名。


上面我们查询 对应的域名,其查询结果表明该 IP 对应的域名为:,其实一个 github 的二级域名。

除了 dig 命令能显示 DNS 寻址的过程,host 命令以及 nslookup 命令也有这样的功能。

host 命令可以直接返回域名的各种记录,例如:


上面的命令直接返回了 域名对应的 A 记录地址。我们再试试 这个网址:


可以看到,其返回了两条记录。第 1 条表示 有一个别名(CNAME记录)指向了 。第 2 条表示 有一个地址(A记录)指向了 IP 地址 。

host 命令也可以通过 IP 地址逆向查询对应的域名,例如:


上面的结果表示 指向了域名 。

除了 dig 和 host 命令之外,我们也可以用 命令查询域名的记录,例如:


上面返回的结果表示,其向 DNS 服务器询问 域名对应的 IP 地址,结果是:。

当我们想知道域名的注册情况时,我们可以使用 命令,例如:


通过 whois 命令,我们可以知道该域名通过哪个服务商注册以及注册地点等信息。

最后,我们总结一下本篇文章的内容。我们想查询域名对应的 IP,可以通过 dig、host、nslokup 命令。一般来说,dig 命令就已经足够使用,可以完全覆盖日常使用需求。而需要查询域名注册信息,则可以使用 whois 命令。

下面对本篇文章的所有命令做个汇总,方便查阅。

dig命令:

  • dig math.stackexchange.com 查询DNS寻址过程
  • dig +short math.stackexchange.com 直接显示DNS寻址结果
  • dig @8.8.8.8 math.stackexchange.com 向特定DNS服务器寻址
  • dig ns com 查询com顶级域名的ns记录
  • dig a com 查询com顶级域名的a记录
  • dig -x 192.30.252.153 用于查询PTR记录(用IP查域名)

host命令:

  • host github.com 返回域名的各种记录
  • host 192.30.252.153 逆向查询IP地址对应的域名

nslookup命令:

  • nslookup github.com 查询域名记录

whois命令:

  • whois shuyi.me 查询域名的注册情况
  • DNS 原理入门 - 阮一峰

分享给小伙伴们:
dig命令:帮你记录DNS寻址全过程:如果本文侵犯了您的权利, 请联系本网立即做出处理,谢谢。
当前位置:殿试作文网 > 说草作文网dig命令:帮你记录DNS寻址全过程转载请注明出处。
下一篇:没有了
dig命令:帮你记录DNS寻址全过程相关文章