詳解Linux系統(tǒng)使用dig/nslookup命令查看dns解析的方法
今天主要介紹一下怎么去使用dig/nslookup命令查看dns解析。下面,我們一起來看。
一、dig命令
Dig是一個(gè)在類Unix命令行模式下查詢DNS包括NS記錄,A記錄,MX記錄等相關(guān)信息的工具。Dig的源碼是ISC BIND大包的一部分,但是大多編譯和安裝Bind的文檔都不把它包括在內(nèi),但是在linux系統(tǒng)下,它通常是某個(gè)包的一部分,在Gentoo下是bind-tools,在Redhat/Fedora下是 bind-utils,或者在Debian下是 dnsutils。
1. dig - DNS lookup utility
當(dāng)域名出現(xiàn)訪問故障時(shí),可以通過檢查域名解析來判斷是否是由錯(cuò)誤的解析導(dǎo)致的問題。
- 域名解析無結(jié)果(不存在或被HOLD(未實(shí)名認(rèn)證等))
- 域名解析到錯(cuò)誤的IP(被阻斷,被劫持響應(yīng)錯(cuò)誤結(jié)果,需要對解析流程做判斷)
- 對應(yīng)CNAME記錄的值無法解析
- 部分解析異常(配置多個(gè)域名服務(wù)器時(shí),多個(gè)服務(wù)器解析結(jié)果不一致,需要確認(rèn)是否在DNS服務(wù)器上配置添加的解析記錄一致)
簡單使用解析一下www.baidu.com結(jié)果如下:
可以看到有請求段和應(yīng)答段,最后解析出的A記錄有兩條。
2. dig命令做迭代查詢
在命令后加上+trace可以跟蹤整個(gè)解析流程:
解析流程:
- 由根域名服務(wù)器查找到負(fù)責(zé)解析.com的頂級(jí)域名服務(wù)器
- 由頂級(jí)域名服務(wù)器查找到baidu.com的二級(jí)域名服務(wù)器
- 由二級(jí)域名服務(wù)器查找到www.baidu.com對應(yīng)一條CNAME記錄www.a.shifen.com
- 再去查找www.a.shifen.com對應(yīng)的A記錄
- 最后返回A記錄對應(yīng)的IP地址
3. 域名不存在時(shí),dig命令如何返回
比如解析 www.not-exists-domain.com這個(gè)域名,是不存在的。
整個(gè)過程如下:
- 由根域名返回.com頂級(jí)域的服務(wù)器地址
- 由.com頂級(jí)域查到二級(jí)域名不存在,返回一條SOA記錄
二、nslookup - query Internet name servers interactively
nslookup是一種網(wǎng)絡(luò)管理命令行工具,可用于查詢DNS域名和IP地址輸入指令nslookup默認(rèn)服務(wù)器和Address是當(dāng)前上網(wǎng)所用的DNS服務(wù)器域名和地址A記錄A(Address)記錄指的是用來指定主機(jī)名或域名對應(yīng)的IP記錄。在提示符>后直接輸入域名,可以查看該域名的A記錄(也可以用set type=a指令設(shè)置):MX記錄MX(mail exchanger)記錄,郵件交換記錄,它指向一個(gè)郵件服務(wù)器,用于電子郵件系統(tǒng)發(fā)郵件時(shí)根據(jù)收信人的地址后綴來定位郵件服務(wù)器。輸入set type=mx,再輸入域名可查詢mx類型記錄MX perference = 10 指MX記錄的優(yōu)先級(jí)NS記錄NS(nameserver)記錄,用來指定改域名由那個(gè)DNS服務(wù)器來進(jìn)行解析。先輸入set type=ns再輸入域名CNAME記錄cname記錄是別名記錄,也成為規(guī)范名字。這種記錄允許將多個(gè)名字映射到同一臺(tái)計(jì)算機(jī)輸入set type=cname可以查詢n
slookup有交互式和非交互式兩種使用方式如下圖:
nslookup還可以指定到某個(gè)域名服務(wù)器做解析命令格式如下:
- nslookup www.baidu.com 8.8.8.8(域名服務(wù)器地址)