您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Linux下如何使用Dig解析域名,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
Dig是一個(gè)在類(lèi)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。
查詢單個(gè)域名的 DNS 信息
dig
命令最典型的用法就是查詢單個(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ō)明本次查詢成功結(jié)束。 第三部分中的 “QUESTION SECTION” 顯示我們要查詢的域名。 第四部分的 “ANSWER SECTION” 是查詢到的結(jié)果。 第五部分則是本次查詢的一些統(tǒng)計(jì)信息,比如用了多長(zhǎng)時(shí)間,查詢了哪個(gè) DNS 服務(wù)器,在什么時(shí)間進(jìn)行的查詢等等。
默認(rèn)情況下 dig 命令查詢 A 記錄,上圖中顯示的 A 即說(shuō)明查詢的記錄類(lèi)型為 A 記錄。在嘗試查詢其它類(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 記錄(反垃圾郵件)。
查詢 CNAME 類(lèi)型的記錄
除了A記錄,常見(jiàn)的DNS記錄還有CNAME,我們可以在查詢時(shí)指定要查詢的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í)我們可以在查詢中指定任何 DNS 記錄的類(lèi)型。
從指定的 DNS 服務(wù)器上查詢
由于一些原因,希望從指定的 DNS 服務(wù)器上進(jì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
從上圖可以看到本次查詢的 DNS 服務(wù)器為 8.8.8.8。
如果不指定 DNS 服務(wù)器,dig 會(huì)依次使用 /etc/resolv.conf 里的地址作為 DNS 服務(wù)器:
linuxidc@linuxidc:~$ dig m.linuxidc.com
上面查詢的 DNS 服務(wù)器就變成了:
反向查詢
在前面的查詢中我們指定了查詢服務(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)容:
這個(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è)查詢過(guò)程
如果你好奇 dig 命令執(zhí)行查詢時(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 mscom. 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
關(guān)于“Linux下如何使用Dig解析域名”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。