当前位置:首页 > 行业动态 > 正文

如何通过 dig 命令查询域名的解析过程?

使用 dig 命令查询域名解析过程,首先输入 dig 域名,它会显示域名的ip地址、ttl值以及从根服务器到目标域名的递归解析过程。

使用dig命令查询域名的解析过程,可以详细地了解DNS解析的具体步骤和各个阶段,以下将详细介绍这一过程:

如何通过 dig 命令查询域名的解析过程?  第1张

`dig`命令简介

dig(Domain Information Groper)是一个用于查询DNS域名服务器信息的命令行工具,它灵活且易于使用,是诊断DNS问题的重要工具之一。

`dig`命令常用格式

dig [@server] [-p port] [-t type] [-4] [-6] [+trace] name

@server:指定DNS查询使用的服务器名称或IP地址。

-p port:指定DNS查询使用的端口号,默认为53端口。

-t type:指定DNS查询的记录类型,如A、AAAA、NS、MX、CNAME等。

-4:仅使用IPv4查询传输。

-6:仅使用IPv6查询传输。

+trace:跟踪从根名称服务器开始的迭代查询过程。

`dig`命令输出格式详解

以dig www.qq.com命令返回内容为例,各字段说明如下:

; <<>> DiG 9.9.7-P3 <<>> www.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<opcode: QUERY, status: NOERROR, id: 23221
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;www.qq.com.            IN A
;; ANSWER SECTION:
www.qq.com.        600    IN A 151.101.65.69
;; Query time: 16 msec
;; SERVER: 10.xxx.xxx.253#53(10.xxx.xxx.253)
;; WHEN: Sun Dec 29 13:08:22 CST 2019
;; MSG SIZE rcvd: 67

输出字段解释:

1、综述:显示此次命令一共查询了几次,有几个回答。

   ; <<>> DiG 9.9.7-P3 <<>> www.qq.com
   ;; global options: +cmd
   ;; Got answer:
   ;; ->>HEADER<<opcode: QUERY, status: NOERROR, id: 23221
   ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

2、QUESTION SECTION:说明此命令发送了什么样的指令,这里表示我们询问www.qq.com域名的A记录。

   ;; QUESTION SECTION:
   ;www.qq.com.            IN A

3、ANSWER SECTION:说明此命令执行后返回的结果,这里的结果表明www.qq.com的A记录指向了151.101.65.69这个IP地址。

   ;; ANSWER SECTION:
   www.qq.com.        600    IN A 151.101.65.69

4、:说明此次查询的一些信息,例如查询耗时、本地DNS地址、查询时间、返回消息包大小。

   ;; Query time: 16 msec
   ;; SERVER: 10.xxx.xxx.253#53(10.xxx.xxx.253)
   ;; WHEN: Sun Dec 29 13:08:22 CST 2019
   ;; MSG SIZE rcvd: 67

DNS解析过程详细步骤

DNS解析过程通常包括以下几个步骤:

1、本地解析:用户在浏览器中输入一个URL(例如www.baidu.com),计算机首先会在本地的hosts文件中查找是否有该域名与IP地址的映射关系,如果有,则直接访问对应的IP地址。

2、浏览器缓存:如果本地hosts文件中没有找到,浏览器会查找自己的DNS缓存,看是否有对应的DNS记录。

3、系统缓存:如果浏览器缓存中也没有找到,操作系统会查找自己的DNS缓存,看是否有对应的DNS记录。

4、路由器缓存:如果系统缓存中也没有找到,计算机会向本地路由器发送一个DNS查询请求,查看路由器是否有对应的DNS记录。

5、ISP DNS服务器:如果路由器中也没有找到,计算机会向ISP的DNS服务器发送一个DNS查询请求,查看ISP的DNS服务器是否有对应的DNS记录。

6、根域名服务器:如果ISP的DNS服务器中也没有找到,ISP的DNS服务器会向根域名服务器发送一个DNS查询请求。

7、顶级域名服务器:根域名服务器收到请求后,会返回一个顶级域名服务器(TLD)的地址,ISP的DNS服务器收到这个地址后,会向TLD发送查询请求。

8、权威DNS服务器:顶级域名服务器收到请求后,会返回对应的权威DNS服务器的地址,ISP的DNS服务器收到这个地址后,会向权威DNS服务器发送查询请求。

9、获取IP地址:权威DNS服务器收到请求后,会返回对应的IP地址,ISP的DNS服务器收到这个IP地址后,会将其返回给计算机,计算机就可以通过这个IP地址访问目标网站。

10、缓存IP地址:在这个过程中,每个参与DNS查询的DNS服务器都会将查询结果缓存一段时间,这样,下次查询同一个域名时,就可以直接返回结果,加快解析速度。

DNS记录类型介绍

DNS记录有多种类型,每种类型都有其特定的用途:

1、NS记录:用来指定域名由哪个DNS服务器进行解析。

2、A记录:用来指定主机名对应的IPv4地址。

3、AAAA记录:用来指定主机名对应的IPv6地址。

4、CNAME记录:用来定义域名的别名,方便实现多个域名解析到同一个IP地址。

5、MX记录:用来指定收件人域名的邮件服务器,SMTP协议会根据MX记录的路由过程决定邮件的走向。

6、PTR记录:常用于反向地址解析,将IP地址解析到对应的名称。

7、SOA记录:称为起始授权机构记录,用于标记起始授权机构,即主DNS服务器。

FAQs问答

Q1:如何使用dig命令查询特定DNS服务器上的解析记录?

A1:可以使用@server参数指定DNS服务器。dig @8.8.8.8 www.google.com表示向谷歌的公共DNS服务器(8.8.8.8)查询www.google.com的解析记录。

Q2:如何只显示域名的解析IP地址?

A2:可以使用+short参数。dig +short www.google.com直接返回该域名对应的IP地址。

小编有话说

通过使用dig命令,我们可以详细了解DNS解析的过程,这对于网络管理员和开发者来说非常有用,掌握这些知识不仅可以帮助我们更好地理解和排查网络问题,还能提高我们对网络安全的认识,希望大家能够充分利用这些工具和技术,提升自己的技能水平。

0