您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux中解析域名命令dig怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
dig命令是常用的域名查詢工具,可以用來測試域名系統工作是否正常。
dig
命令最典型的用法就是查詢單個主機的信息。
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 命令的版本和輸入的參數。 第二部分顯示服務返回的一些技術詳情,比較重要的是 status。如果 status 的值為 NOERROR 則說明本次查詢成功結束。 第三部分中的 “QUESTION SECTION” 顯示我們要查詢的域名。 第四部分的 “ANSWER SECTION” 是查詢到的結果。 第五部分則是本次查詢的一些統計信息,比如用了多長時間,查詢了哪個 DNS 服務器,在什么時間進行的查詢等等。
默認情況下 dig 命令查詢 A 記錄,上圖中顯示的 A 即說明查詢的記錄類型為 A 記錄。在嘗試查詢其它類型的記錄前讓我們先來了解一下常見的 DNS 記錄類型。
類型目的
A 地址記錄,用來指定域名的 IPv4 地址,如果需要將域名指向一個 IP 地址,就需要添加 A 記錄。 AAAA 用來指定主機名(或域名)對應的 IPv6 地址記錄。 CNAME 如果需要將域名指向另一個域名,再由另一個域名提供 ip 地址,就需要添加 CNAME 記錄。 MX 如果需要設置郵箱,讓郵箱能夠收到郵件,需要添加 MX 記錄。 NS 域名服務器記錄,如果需要把子域名交給其他 DNS 服務器解析,就需要添加 NS 記錄。 SOA SOA 這種記錄是所有區域性文件中的強制性記錄。它必須是一個文件中的第一個記錄。 TXT 可以寫任何東西,長度限制為 255。絕大多數的 TXT記錄是用來做 SPF 記錄(反垃圾郵件)。
除了A記錄,常見的DNS記錄還有CNAME,我們可以在查詢時指定要查詢的DNS記錄類型:
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
這樣結果中就只有 CNAME 的記錄。其實我們可以在查詢中指定任何 DNS 記錄的類型。
由于一些原因,希望從指定的 DNS 服務器上進行查詢(從默認的 DNS 服務器上獲得的結果可能不準確)。指定 DNS 服務器的方式為使用 @ 符號:
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 服務器為 8.8.8.8。
如果不指定 DNS 服務器,dig 會依次使用 /etc/resolv.conf 里的地址作為 DNS 服務器:
linuxidc@linuxidc:~$ dig m.linuxidc.com
上面查詢的 DNS 服務器就變成了:
linuxidc@linuxidc:~$ dig -x 8.8.8.8 +short google-public-dns-a.google.com.
好吧,應該是Google的,可以放心使用了。
linuxidc@linuxidc:~$ dig +short m.linuxidc.com 122.228.238.15 106.119.182.141
這下顯示的結果就清爽多了。
其實我們還可以通過更多選項來控制輸出的內容,比如只想顯示 “ANSWER SECTION” 的內容:
這個結果很不錯,就是使用的選項太多了(dig 命令有很多這樣的選項,詳情請參考使用手冊)。我們可以換一種優雅一些的方式來實現和上面相同的結果:
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
如果你好奇 dig 命令執行查詢時都經歷了哪些過程,你可以嘗試使用 +trace 選項。它會輸出從根域到最終結果的所有信息:
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.
上圖中顯示的并不是一個完整的結果,感興趣的朋友可以自己嘗試。
internet上有13個根域服務器,使用不加參數的dig命令顯示這些服務器信息
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
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux中解析域名命令dig怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。