dig命令简单使用

Jiaqi.zhang 于 2022-12-20 发布

dig命令

使用 dig 命令,可以显示整个DNS查询过程,该命令会输出6段信息.

基本用法: dig <DNS Address> <Address>

Example:

jiaqi.zhang@jiaqizhangs-MacBook-Pro ~ % dig www.baidu.com

; <<>> DiG 9.10.6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23381
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 7

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com.            IN    A

;; ANSWER SECTION:
www.BAIDU.com.        12    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    12    IN    A    180.97.34.94
www.a.shifen.com.    12    IN    A    180.97.34.96

;; AUTHORITY SECTION:
shifen.com.        12    IN    NS    ns4.baidu.com.
shifen.com.        12    IN    NS    dns.baidu.com.
shifen.com.        12    IN    NS    ns2.baidu.com.
shifen.com.        12    IN    NS    ns3.baidu.com.

;; ADDITIONAL SECTION:
ns3.BAIDU.com.        12    IN    A    36.152.45.193
ns2.BAIDU.com.        12    IN    A    220.181.33.31
ns4.BAIDU.com.        12    IN    A    14.215.178.80
dns.BAIDU.com.        12    IN    A    110.242.68.134
ns4.BAIDU.com.        12    IN    A    111.45.3.226
ns3.BAIDU.com.        12    IN    A    112.80.248.64

;; Query time: 8 msec
;; SERVER: 192.168.2.54#53(192.168.2.54)
;; WHEN: Fri Jan 06 14:59:42 CST 2023
;; MSG SIZE  rcvd: 471

jiaqi.zhang@jiaqizhangs-MacBook-Pro ~ %

参数解释:

第一段:

; <<>> DiG 9.10.6 <<>> www.baidu.com ## dig这个程序的版本号和要查询的域名
;; global options: +cmd ## 表示可以在命令后面加选项
;; Got answer: ## 以下是获取信息的内容
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23381 ## 这个是返回信息的头部:
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 7
---
## opcode: 操作码,QUERY,代表是查询操作;
## status: 状态,NOERROR,代表没有错误;
## id: 编号,60954,16bit数字,在dns协议中,通过编号匹配返回和查询.
## flags: 标志,如果出现就表示有标志,如果不出现,就表示为设置标志:
## qr query,查询标志,代表是查询操作
## rd recursion desired,代表希望进行递归查询操作;
## ra recursive available在返回中设置,代表查询的服务器支持递归查询操作;
## aa Authoritative Answer权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复;
## QUERY 查询数,1代表一个查询,对应下面QUESTION SECTION的记录数
## ANSWER 结果数,4代表有4个结果,对应下面的ANSWER SECTION中的记录数
## AUTHORITY 权威域名服务器记录数,5代表该域名有5个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION
## ADDITIONAL 格外记录数,6代表有6项格外记录。对应下面ADDITIONAL SECTION。

第二段

;; OPT PSEUDOSECTION: ## TODO
; EDNS: version: 0, flags:; udp: 4096 ## TODO
;; QUESTION SECTION:
;www.baidu.com.            IN    A
---
## 从做到右部分意义如下:
## 1、要查询的域名,这里是baidu.com.,'.'代表根域名,com顶级域名,baidu二级域名
## 2、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
## 3、type,要查询的记录类型,A记录(Address),代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。

第三段

;; ANSWER SECTION: ## 回应部分
www.BAIDU.com.        12    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    12    IN    A    180.97.34.94
www.a.shifen.com.    12    IN    A    180.97.34.96
---
## 回应都是A记录,A记录从左到右各部分意义:
## 1、对应的域名,这里是baidu.com.,'.'代表根域名,com顶级域名,baidu二级域名
## 2、TTL,time ro live,缓存时间,单位秒。12,代表缓存域名服务器,可以在缓存中保存12秒该记录。
## 3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等由于现在都是互联网,所以其它基本不用。
## 4、type,要查询的记录类型,A记录,代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。
## 5、域名对应的ip地址。

第四段

;; AUTHORITY SECTION: ## 权威域名部分
shifen.com.        12    IN    NS    ns4.baidu.com.
shifen.com.        12    IN    NS    dns.baidu.com.
shifen.com.        12    IN    NS    ns2.baidu.com.
shifen.com.        12    IN    NS    ns3.baidu.com.
---
## 权威域名部分,回应都是NS记录(Name Server),NS记录从左到右各部分意义:
## 1、对应的域名,这里是baidu.com.,'.'代表根域名,com顶级域名,baidu二级域名
## 2、TTL,time ro live,缓存时间,单位秒。12,代表缓存域名服务器,可以在缓存中保存12秒该记录。
## 3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
## 4、type,要查询的记录类型,NS,Name Server,NS记录,代表该记录描述了域名对应的权威域名解析服务器
## 5、域名对应域名对应的权威域名解析服务器。由于ns2.baidu.com.是baidu.com.的子域名,而解析子域名,又需要主域名的信息,为了打破这个死循环,需要在下面的额外记录中提供该服务器的ip地址。

第五段

;; ADDITIONAL SECTION: ## 额外记录部分
ns3.BAIDU.com.        12    IN    A    36.152.45.193
ns2.BAIDU.com.        12    IN    A    220.181.33.31
ns4.BAIDU.com.        12    IN    A    14.215.178.80
dns.BAIDU.com.        12    IN    A    110.242.68.134
ns4.BAIDU.com.        12    IN    A    111.45.3.226
ns3.BAIDU.com.        12    IN    A    112.80.248.64
---
## 额外记录部分,这里都是A记录,A记录从左到右各部分意义:
## 1、对应的域名,这里是dns.baidu.com.,'.'代表根域名,com顶级域名,baidu二级域名,dns是三级域名。
## 2、TTL,time ro live,缓存时间,单位秒。12,代表缓存域名服务器可以在缓存中保存12秒该记录。
## 3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
## 4、type,要查询的记录类型,A记录,代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。
## 5、域名对应的ip地址。

第六段

;; Query time: 8 msec ## 查询耗时
;; SERVER: 192.168.2.54#53(192.168.2.54) ## 查询使用的服务器地址和端口,其实就是本地DNS域名服务器和端口
;; WHEN: Fri Jan 06 14:59:42 CST 2023 ## 查询的时间
;; MSG SIZE  rcvd: 471 ## 回应大小。收到(rcve, recieved)471字节。

参考文章