运行命令:linux
dig baidu.com缓存
输出为:服务器
; <<>> DiG 9.9.5-3-Ubuntu <<>> baidu.comspa
;; global options: +cmd.net
;; Got answer:code
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7794orm
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 6htm
;; OPT PSEUDOSECTION:递归
; EDNS: version: 0, flags:; udp: 4096dns
;; QUESTION SECTION:
;baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 76 IN A 123.125.114.144
baidu.com. 76 IN A 220.181.111.85
baidu.com. 76 IN A 220.181.111.86
;; AUTHORITY SECTION:
baidu.com. 63948 IN NS ns2.baidu.com.
baidu.com. 63948 IN NS dns.baidu.com.
baidu.com. 63948 IN NS ns3.baidu.com.
baidu.com. 63948 IN NS ns7.baidu.com.
baidu.com. 63948 IN NS ns4.baidu.com.
;; ADDITIONAL SECTION:
dns.baidu.com. 13284 IN A 202.108.22.220
ns2.baidu.com. 61082 IN A 61.135.165.235
ns3.baidu.com. 61088 IN A 220.181.37.10
ns4.baidu.com. 13284 IN A 220.181.38.10
ns7.baidu.com. 13284 IN A 119.75.219.82
;; Query time: 87 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov 03 13:59:33 CST 2014
;; MSG SIZE rcvd: 256
下面说明各项意义:
; <<>> DiG 9.9.5-3-Ubuntu <<>> baidu.com
dig程序的版本号,和要查询的域名
;; global options: +cmd
这个目前我还不知道意义,待补充
;; Got answer:
下面是返回信息的内容,分为5部分,头部HEADER、虚选项部OPT PSEUDOSECTION、查询部分QUESTION SECTION、回复部分ANSWER SECTION、权威机构部分AUTHORITY SECTION、附加部分ADDITIONAL SECTION
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7794
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 6
头部:
opcode 操做码,QUERY,表明是查询操做
status 状态,NOERROR,表明没有错误
id 编号,7794,16bit数字,在dns协议中,经过编号匹配返回和查询。
flags 标志,若是出现就表示有标志,若是不出现就未设置标志:
qr query,查询标志,表明是查询操做
rd recursion desired, 表明但愿进行递归(recursive)查询操做
ra recursive available 在返回中设置,表明查询的服务器支持递归(recursive)查询操做。
aa Authoritative Answer 权威回复,若是查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复。
QUERY 查询数,1表明1个查询,对应下面的QUESTION SECTION中的记录数
ANSWER 结果数,3表明有3项结果,对应下面ANSWER SECTION中的记录数
AUTHORITY 权威域名服务器记录数,5表明该域名有5个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION
ADDITIONAL 格外记录数,6表明有6项格外记录。对应下面 ADDITIONAL SECTION。
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
这个目前我还不知道意义,待补充
;; QUESTION SECTION:
;baidu.com. IN A
查询部分,从左到右各部分意义:
一、要查询的域名,这里是baidu.com.,'.'表明根域名,com顶级域名,baidu二级域名
二、class,要查询信息的类别,IN表明类别为IP协议,即Internet。还有其它类别,好比chaos等,因为如今都是互联网,因此其它基本不用。
三、type,要查询的记录类型,A记录(Address),表明要查询ipv4地址。AAAA记录,表明要查询ipv6地址。
;; ANSWER SECTION:
baidu.com. 76 IN A 123.125.114.144
baidu.com. 76 IN A 220.181.111.85
baidu.com. 76 IN A 220.181.111.86
回应部分,回应都是A记录,A记录从左到右各部分意义:
一、对应的域名,这里是baidu.com.,'.'表明根域名,com顶级域名,baidu二级域名
二、TTL,time ro live,缓存时间,单位秒。76,表明缓存域名服务器,能够在缓存中保存76秒该记录。
三、class,要查询信息的类别,IN表明类别为IP协议,即Internet。还有其它类别,好比chaos等,因为如今都是互联网,因此其它基本不用。
四、type,要查询的记录类型,A记录,表明要查询ipv4地址。AAAA记录,表明要查询ipv6地址。
五、域名对应的ip地址。
;; AUTHORITY SECTION:
baidu.com. 63948 IN NS ns2.baidu.com.
baidu.com. 63948 IN NS dns.baidu.com.
baidu.com. 63948 IN NS ns3.baidu.com.
baidu.com. 63948 IN NS ns7.baidu.com.
baidu.com. 63948 IN NS ns4.baidu.com.
权威域名部分,回应都是NS记录(Name Server),NS记录从左到右各部分意义:
一、对应的域名,这里是baidu.com.,'.'表明根域名,com顶级域名,baidu二级域名
二、TTL,time ro live,缓存时间,单位秒。63948,表明缓存域名服务器,能够在缓存中保存63948秒该记录。
三、class,要查询信息的类别,IN表明类别为IP协议,即Internet。还有其它类别,好比chaos等,因为如今都是互联网,因此其它基本不用。
四、type,要查询的记录类型,NS,Name Server,NS记录,表明该记录描述了域名对应的权威域名解析服务器
五、域名对应域名对应的权威域名解析服务器。因为ns2.baidu.com.是baidu.com.的子域名,而解析子域名,又须要主域名的信息,为了打破这个死循环,须要在下面的额外记录中提供该服务器的ip地址。
;; ADDITIONAL SECTION:
dns.baidu.com. 13284 IN A 202.108.22.220
ns2.baidu.com. 61082 IN A 61.135.165.235
ns3.baidu.com. 61088 IN A 220.181.37.10
ns4.baidu.com. 13284 IN A 220.181.38.10
ns7.baidu.com. 13284 IN A 119.75.219.82
额外记录部分,这里都是A记录,A记录从左到右各部分意义:
一、对应的域名,这里是dns.baidu.com.,'.'表明根域名,com顶级域名,baidu二级域名,dns是三级域名。
二、TTL,time ro live,缓存时间,单位秒。13284,表明缓存域名服务器能够在缓存中保存13284秒该记录。
三、class,要查询信息的类别,IN表明类别为IP协议,即Internet。还有其它类别,好比chaos等,因为如今都是互联网,因此其它基本不用。
四、type,要查询的记录类型,A记录,表明要查询ipv4地址。AAAA记录,表明要查询ipv6地址。
五、域名对应的ip地址。
;; Query time: 87 msec
查询耗时
;; SERVER: 127.0.0.1#53(127.0.0.1)
查询使用的服务器地址和端口
;; WHEN: Mon Nov 03 13:59:33 CST 2014
查询的时间
;; MSG SIZE rcvd: 256
回应的大小。收到(rcve, recieved)256字节。
从以上dig结果中熟悉了2种DNS记录,A记录和NS记录
参考:http://en.wikipedia.org/wiki/Domain_Name_System#DNS_message_format
http://linux.die.net/man/1/dig
http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch12_09.htm
non-recursive query,非递归查询,就是这种查询请求:DNS服务器能够提供完整的域名信息(当它是该域名的权威主解析服务器时),或者在不查询其它dns服务器时提供部分域名信息。
recursive query,递归查询,就是就是这种查询请求:DNS服务器经过在必要时查询其它域名服务器以提供完整域名信息。