虽然只需要返回一个 IP 地址,但是 DNS 的查询过程非常复杂,分成多个步骤。
工具软件 dig 可以显示整个查询过程,dig 安装教程
dig math.stackexchange.com
上面的命令会输出六段信息
第一段是查询参数和统计
第二段是查询内容
上面结果表示,查询域名 math.stackexchange.com 的 A 记录,A 是 address 的缩写
第三段是 DNS 服务器的答复
上面结果显示,math.stackexchange.com 有四个 A 记录,即四个 IP 地址。
113 是 TTL 值(Time to live 的缩写),表示缓存时间,即 113 秒之内不用重新查询。
第四段显示 stackexchange.com 的 NS 记录(Name Server 的缩写),即哪些服务器负责管理stackexchange.com 的 DNS 记录。
上面结果显示 stackexchange.com 共有四条 NS 记录,即四个域名服务器,向其中任一台查询就能知道 math.stackexchange.com 的IP地址是什么。
第五段是上面四个域名服务器的 IP 地址,这是随着前一段一起返回的。
第六段是 DNS 服务器的一些传输信息。
上面结果显示,本机的 DNS 服务器是 192.168.68.1,查询端口是 53(DNS服务器的默认端口),以及回应长度是 412 字节。
如果不想看到这么多内容,可以使用+short 参数。
dig +short math.stackexchange.com
上面命令只返回 math.stackexchange.com 对应的 4 个 IP 地址(即 A 记录)。