新聞中心
Dig是一個(gè)在類(lèi)Unix命令行模式下查詢(xún)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。

專(zhuān)注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)玉山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
查詢(xún)單個(gè)域名的 DNS 信息
dig 命令最典型的用法就是查詢(xún)單個(gè)主機(jī)的信息。
linuxidc@linuxidc:~$ dig www.linuxidc.com
; > DiG 9.11.3-1Ubuntu1.5-Ubuntu > www.linuxidc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER#53(127.0.0.53)
;; WHEN: Sun Mar 03 10:55:35 CST 2019
;; MSG SIZE rcvd: 77
dig 命令默認(rèn)的輸出信息比較豐富,大概可以分為。 5 個(gè)部分
第一部分顯示 dig 命令的版本和輸入的參數(shù)。 第二部分顯示服務(wù)返回的一些技術(shù)詳情,比較重要的是 status。如果 status 的值為 NOERROR 則說(shuō)明本次查詢(xún)成功結(jié)束。 第三部分中的 “QUESTION SECTION” 顯示我們要查詢(xún)的域名。 第四部分的 “ANSWER SECTION” 是查詢(xún)到的結(jié)果。 第五部分則是本次查詢(xún)的一些統(tǒng)計(jì)信息,比如用了多長(zhǎng)時(shí)間,查詢(xún)了哪個(gè) DNS 服務(wù)器,在什么時(shí)間進(jìn)行的查詢(xún)等等。
默認(rèn)情況下 dig 命令查詢(xún) A 記錄,上圖中顯示的 A 即說(shuō)明查詢(xún)的記錄類(lèi)型為 A 記錄。在嘗試查詢(xún)其它類(lèi)型的記錄前讓我們先來(lái)了解一下常見(jiàn)的 DNS 記錄類(lèi)型。
常見(jiàn) DNS 記錄的類(lèi)型
類(lèi)型目的
A 地址記錄,用來(lái)指定域名的 IPv4 地址,如果需要將域名指向一個(gè) IP 地址,就需要添加 A 記錄。 AAAA 用來(lái)指定主機(jī)名(或域名)對(duì)應(yīng)的 IPv6 地址記錄。 CNAME 如果需要將域名指向另一個(gè)域名,再由另一個(gè)域名提供 ip 地址,就需要添加 CNAME 記錄。 MX 如果需要設(shè)置郵箱,讓郵箱能夠收到郵件,需要添加 MX 記錄。 NS 域名服務(wù)器記錄,如果需要把子域名交給其他 DNS 服務(wù)器解析,就需要添加 NS 記錄。 SOA SOA 這種記錄是所有區(qū)域性文件中的強(qiáng)制性記錄。它必須是一個(gè)文件中的第一個(gè)記錄。 TXT 可以寫(xiě)任何東西,長(zhǎng)度限制為 255。絕大多數(shù)的 TXT記錄是用來(lái)做 SPF 記錄(反垃圾郵件)。
查詢(xún) CNAME 類(lèi)型的記錄
除了A記錄,常見(jiàn)的DNS記錄還有CNAME,我們可以在查詢(xún)時(shí)指定要查詢(xún)的DNS記錄類(lèi)型:
linuxidc@linuxidc:~$ dig m.linuxidc.com CNAME
; > DiG 9.11.3-1ubuntu1.5-Ubuntu > m.linuxidc.com CNAME
;; global options: +cmd
;; Got answer:
;; ->>HEADER#53(127.0.0.53)
;; WHEN: Sun Mar 03 11:20:34 CST 2019
;; MSG SIZE rcvd: 43
這樣結(jié)果中就只有 CNAME 的記錄。其實(shí)我們可以在查詢(xún)中指定任何 DNS 記錄的類(lèi)型。
從指定的 DNS 服務(wù)器上查詢(xún)
由于一些原因,希望從指定的 DNS 服務(wù)器上進(jìn)行查詢(xún)(從默認(rèn)的 DNS 服務(wù)器上獲得的結(jié)果可能不準(zhǔn)確)。指定 DNS 服務(wù)器的方式為使用 @ 符號(hào):
linuxidc@linuxidc:~$ dig @8.8.8.8 m.linuxidc.com
; > DiG 9.11.3-1ubuntu1.5-Ubuntu > @8.8.8.8 m.linuxidc.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER#53(8.8.8.8)
;; WHEN: Sun Mar 03 11:21:48 CST 2019
;; MSG SIZE rcvd: 75
從上圖可以看到本次查詢(xún)的 DNS 服務(wù)器為 8.8.8.8。
如果不指定 DNS 服務(wù)器,dig 會(huì)依次使用 /etc/resolv.conf 里的地址作為 DNS 服務(wù)器:
Linux下解析域名命令-dig 命令使用詳解Linux下解析域名命令-dig 命令使用詳解
linuxidc@linuxidc:~$ dig m.linuxidc.com
上面查詢(xún)的 DNS 服務(wù)器就變成了:
反向查詢(xún)
在前面的查詢(xún)中我們指定了查詢(xún)服務(wù)器為 8.8.8.8,這是誰(shuí)家的 DNS 服務(wù)器?其實(shí)我們可以使用 dig 的 -x 選項(xiàng)來(lái)反向解析 IP 地址對(duì)應(yīng)的域名:
linuxidc@linuxidc:~$ dig -x 8.8.8.8 +short
google-public-dns-a.google.com.
好吧,應(yīng)該是Google的,可以放心使用了。
控制顯示結(jié)果
dig 命令默認(rèn)返回的結(jié)果展示詳細(xì)的信息,如果要獲得精簡(jiǎn)的結(jié)果可以使用 +short 選項(xiàng):
linuxidc@linuxidc:~$ dig +short m.linuxidc.com
122.228.238.15
106.119.182.141
這下顯示的結(jié)果就清爽多了。
其實(shí)我們還可以通過(guò)更多選項(xiàng)來(lái)控制輸出的內(nèi)容,比如只想顯示 “ANSWER SECTION” 的內(nèi)容:
Linux下解析域名命令-dig 命令使用詳解Linux下解析域名命令-dig 命令使用詳解
這個(gè)結(jié)果很不錯(cuò),就是使用的選項(xiàng)太多了(dig 命令有很多這樣的選項(xiàng),詳情請(qǐng)參考使用手冊(cè))。我們可以換一種優(yōu)雅一些的方式來(lái)實(shí)現(xiàn)和上面相同的結(jié)果:
linuxidc@linuxidc:~$ dig m.linuxidc.com +noall +answer
; > DiG 9.11.3-1ubuntu1.5-Ubuntu > m.linuxidc.com +noall +answer
;; global options: +cmd
m.linuxidc.com. 5 IN A 113.107.238.212
m.linuxidc.com. 5 IN A 122.228.238.15
跟蹤整個(gè)查詢(xún)過(guò)程
如果你好奇 dig 命令執(zhí)行查詢(xún)時(shí)都經(jīng)歷了哪些過(guò)程,你可以嘗試使用 +trace 選項(xiàng)。它會(huì)輸出從根域到最終結(jié)果的所有信息:
linuxidc@linuxidc:~$ dig sohu.com @202.102.134.68 -p 53 -t MX +trace
; > DiG 9.11.3-1ubuntu1.5-Ubuntu > sohu.com @202.102.134.68 -p 53 -t MX +trace
;; global options: +cmd
. 482761 IN NS f.root-servers.net.
. 482761 IN NS a.root-servers.net.
. 482761 IN NS c.root-servers.net.
. 482761 IN NS b.root-servers.net.
. 482761 IN NS j.root-servers.net.
. 482761 IN NS d.root-servers.net.
. 482761 IN NS k.root-servers.net.
. 482761 IN NS e.root-servers.net.
. 482761 IN NS h.root-servers.net.
. 482761 IN NS i.root-servers.net.
. 482761 IN NS m.root-servers.net.
. 482761 IN NS g.root-servers.net.
. 482761 IN NS l.root-servers.net.
;; Received 239 bytes from 202.102.134.68#53(202.102.134.68) in 40 ms
com. 172800 IN NS d.gtld-servers.net.
上圖中顯示的并不是一個(gè)完整的結(jié)果,感興趣的朋友可以自己嘗試。
顯示13個(gè)根域服務(wù)器
internet上有13個(gè)根域服務(wù)器,使用不加參數(shù)的dig命令顯示這些服務(wù)器信息
linuxidc@linuxidc:~$ dig
; > DiG 9.11.3-1ubuntu1.5-Ubuntu >
;; global options: +cmd
;; Got answer:
;; ->>HEADER#53(127.0.0.53)
;; WHEN: Sun Mar 03 11:37:11 CST 2019
;; MSG SIZE rcvd: 239
網(wǎng)頁(yè)名稱(chēng):Linux下使用Dig解析域名
標(biāo)題路徑:http://fisionsoft.com.cn/article/dphooic.html


咨詢(xún)
建站咨詢(xún)
