dig - DNS lookup utility
當(dāng)域名出現(xiàn)訪問故障時(shí),可以通過檢查域名解析來判斷是否是由錯(cuò)誤的解析導(dǎo)致的問題。
1.域名解析無結(jié)果(不存在或被HOLD(未實(shí)名認(rèn)證等))
2.域名解析到錯(cuò)誤的IP(被阻斷,被劫持響應(yīng)錯(cuò)誤結(jié)果,需要對(duì)解析流程做判斷)
3.對(duì)應(yīng)CNAME記錄的值無法解析
4.部分解析異常(配置多個(gè)域名服務(wù)器時(shí),多個(gè)服務(wù)器解析結(jié)果不一致,需要確認(rèn)是否在DNS服務(wù)器上配置添加的解析記錄一致)
簡單使用解析一下www.baidu.com結(jié)果如下:
![](/d/20211016/cb1d608151867b43f838faedbb50cb16.gif)
可以看到有請(qǐng)求段和應(yīng)答段,最后解析出的A記錄有兩條。
dig命令做迭代查詢
在命令后加上+trace可以跟蹤整個(gè)解析流程:
1. 由根域名服務(wù)器查找到負(fù)責(zé)解析.com的頂級(jí)域名服務(wù)器
2. 由頂級(jí)域名服務(wù)器查找到baidu.com的二級(jí)域名服務(wù)器
3. 由二級(jí)域名服務(wù)器查找到www.baidu.com對(duì)應(yīng)一條CNAME記錄www.a.shifen.com
4. 再去查找www.a.shifen.com對(duì)應(yīng)的A記錄
5. 最后返回A記錄對(duì)應(yīng)的IP地址
[root@jia3 ~]# dig www.baidu.com +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com +trace
;; global options: +cmd
. 320307 IN NS a.root-servers.net.
. 320307 IN NS k.root-servers.net.
. 320307 IN NS i.root-servers.net.
. 320307 IN NS l.root-servers.net.
. 320307 IN NS b.root-servers.net.
. 320307 IN NS e.root-servers.net.
. 320307 IN NS h.root-servers.net.
. 320307 IN NS d.root-servers.net.
. 320307 IN NS g.root-servers.net.
. 320307 IN NS j.root-servers.net.
. 320307 IN NS f.root-servers.net.
. 320307 IN NS m.root-servers.net.
. 320307 IN NS c.root-servers.net.
;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 98 ms
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
;; Received 491 bytes from 192.5.5.241#53(192.5.5.241) in 93 ms
baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
;; Received 201 bytes from 192.48.79.30#53(192.48.79.30) in 501 ms
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
a.shifen.com. 1200 IN NS ns1.a.shifen.com.
a.shifen.com. 1200 IN NS ns2.a.shifen.com.
a.shifen.com. 1200 IN NS ns5.a.shifen.com.
a.shifen.com. 1200 IN NS ns3.a.shifen.com.
a.shifen.com. 1200 IN NS ns4.a.shifen.com.
;; Received 228 bytes from 220.181.37.10#53(220.181.37.10) in 8 ms
域名不存在時(shí),dig命令如何返回
比如解析 www.not-exists-domain.com這個(gè)域名,是不存在的。
整個(gè)過程如下:
1. 由根域名返回.com頂級(jí)域的服務(wù)器地址
2. 由.com頂級(jí)域查到二級(jí)域名不存在,返回一條SOA記錄
[root@jia3 ~]# dig www.not-exists-domain.com +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.not-exists-domain.com +trace
;; global options: +cmd
. 319714 IN NS b.root-servers.net.
. 319714 IN NS e.root-servers.net.
. 319714 IN NS h.root-servers.net.
. 319714 IN NS d.root-servers.net.
. 319714 IN NS g.root-servers.net.
. 319714 IN NS j.root-servers.net.
. 319714 IN NS f.root-servers.net.
. 319714 IN NS m.root-servers.net.
. 319714 IN NS c.root-servers.net.
. 319714 IN NS a.root-servers.net.
. 319714 IN NS k.root-servers.net.
. 319714 IN NS i.root-servers.net.
. 319714 IN NS l.root-servers.net.
;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 105 ms
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
;; Received 503 bytes from 192.112.36.4#53(192.112.36.4) in 228 ms
com. 900 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1524576381 1800 900 604800 86400
;; Received 116 bytes from 192.12.94.30#53(192.12.94.30) in 333 ms
nslookup - query Internet name servers interactively
nslookup有交互式和非交互式兩種使用方式如下圖:
![](/d/20211016/8719502032fe7e4e3764aed73656b3ae.gif)
nslookup還可以指定到某個(gè)域名服務(wù)器做解析命令格式如下:
nslookup www.baidu.com 8.8.8.8(域名服務(wù)器地址)
![](/d/20211016/7e312881d4c8c4769b37100d91ed25ac.gif)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。