溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在Linux上中dig怎么用

發(fā)布時(shí)間:2021-12-04 09:20:21 來源:億速云 閱讀:315 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹在Linux上中dig怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!


dig 是一個(gè)強(qiáng)大而靈活的工具,用于查詢域名系統(tǒng)(DNS服務(wù)器。在這篇文章中,我們將深入了解它的工作原理以及它能告訴你什么。

dig 是一款強(qiáng)大而靈活的查詢 DNS 名稱服務(wù)器的工具。它執(zhí)行 DNS 查詢,并顯示參與該過程的名稱服務(wù)器返回的應(yīng)答以及與搜索相關(guān)的細(xì)節(jié)。系統(tǒng)管理員和 DNS 管理員經(jīng)常使用 dig 來幫助排除 DNS 問題。在這篇文章中,我們將深入了解它的工作原理,看看它能告訴我們什么。

開始之前,對  DNS(域名系統(tǒng))的工作方式有一個(gè)基本的印象是很有幫助的。它是全球互聯(lián)網(wǎng)的關(guān)鍵部分,因?yàn)樗峁┝艘环N查找世界各地的服務(wù)器的方式,從而可以與之連接。你可以把它看作是互聯(lián)網(wǎng)的地址簿,任何正確連接到互聯(lián)網(wǎng)的系統(tǒng),都應(yīng)該能夠使用它來查詢?nèi)魏握_注冊的服務(wù)器的  IP 地址。

dig 入門

Linux 系統(tǒng)上一般都默認(rèn)安裝了 dig 工具。下面是一個(gè)帶有一點(diǎn)注釋的 dig 命令的例子:

$ dig www.networkworld.com ; <<>> DiG 9.16.1-Ubuntu <<>> www.networkworld.com <== 你使用的 dig 版本;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6034;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 65494;; QUESTION SECTION:                            <== 你的查詢細(xì)節(jié);www.networkworld.com.          IN      A ;; ANSWER SECTION:                              <== 結(jié)果 www.networkworld.com.   3568    IN      CNAME   idg.map.fastly.net.idg.map.fastly.net.     30      IN      A       151.101.250.165 ;; Query time: 36 msec                          <== 查詢用時(shí);; SERVER: 127.0.0.53#53(127.0.0.53)            <== 本地緩存解析器;; WHEN: Fri Jul 24 19:11:42 EDT 2020           <== 查詢的時(shí)間;; MSG SIZE  rcvd: 97                           <== 返回的字節(jié)數(shù)

如果你得到了一個(gè)這樣的應(yīng)答,是好消息嗎?簡短的回答是“是”。你得到了及時(shí)的回復(fù)。狀態(tài)字段(status: NOERROR)顯示沒有問題。你正在連接到一個(gè)能夠提供所要求的信息的名稱服務(wù)器,并得到一個(gè)回復(fù),告訴你一些關(guān)于你所查詢的系統(tǒng)的重要細(xì)節(jié)。簡而言之,你已經(jīng)驗(yàn)證了你的系統(tǒng)和域名系統(tǒng)相處得很好。

其他可能的狀態(tài)指標(biāo)包括:

  • SERVFAIL:被查詢的名稱存在,但沒有數(shù)據(jù)或現(xiàn)有數(shù)據(jù)無效。

  • NXDOMAIN:所查詢的名稱不存在。

  • REFUSED:該區(qū)域的數(shù)據(jù)不存在于所請求的權(quán)威服務(wù)器中,并且在這種情況下,基礎(chǔ)設(shè)施沒有設(shè)置為提供響應(yīng)服務(wù)。

下面是一個(gè)例子,如果你要查找一個(gè)不存在的域名,你會(huì)看到什么?

$ dig cannotbe.org ; <<>> DiG 9.16.1-Ubuntu <<>> cannotbe.org;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 35348;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

一般來說,dig 比 ping 會(huì)提供更多的細(xì)節(jié),如果域名不存在,ping 會(huì)回復(fù) “名稱或服務(wù)未知”。當(dāng)你查詢一個(gè)合法的系統(tǒng)時(shí),你可以看到域名系統(tǒng)對該系統(tǒng)知道些什么,這些記錄是如何配置的,以及檢索這些數(shù)據(jù)需要多長時(shí)間。

(LCTT 譯注:dig 也比 nslookup 提供的數(shù)據(jù)更多。此外,dig 采用的是操作系統(tǒng)的解析庫,而 nslookup 采用的是自己提供的解析庫,這有時(shí)候會(huì)帶來不同的行為。最后,有趣的一點(diǎn)是,dig 的返回的格式是符合 BIND 區(qū)域文件格式的。)

事實(shí)上,有時(shí) dig 可以在 ping 完全不能響應(yīng)的時(shí)候進(jìn)行響應(yīng),當(dāng)你試圖確定一個(gè)連接問題時(shí),這種信息是非常有用的。

DNS 記錄類型和標(biāo)志

在上面的第一個(gè)查詢中,我們可以看到一個(gè)問題,那就是同時(shí)存在 CNAME 和 A 記錄。CNAME規(guī)范名稱canonical name)就像一個(gè)別名,把一個(gè)域名指向另一個(gè)域名。你查詢的大多數(shù)系統(tǒng)不會(huì)有 CNAME 記錄,而只有 A 記錄。如果你運(yùn)行 dig localhost 命令,你會(huì)看到一個(gè) A 記錄,它就指向 127.0.0.1 &mdash;&mdash; 這是每個(gè)系統(tǒng)都使用的“回環(huán)”地址。A 記錄用于將一個(gè)名字映射到一個(gè) IP 地址。

DNS 記錄類型包括:

  • A 或 AAAA:IPv4 或 IPv6 地址

  • CNAME:別名

  • MX:郵件交換器

  • NS:名稱服務(wù)器

  • PTR:一個(gè)反向條目,讓你根據(jù) IP 地址找到系統(tǒng)名稱

  • SOA:表示授權(quán)記錄開始

  • TXT 一些相關(guān)文本

我們還可以在上述輸出的第五行看到一系列的“標(biāo)志”。這些定義在 RFC 1035 中 &mdash;&mdash; 它定義了 DNS 報(bào)文頭中包含的標(biāo)志,甚至顯示了報(bào)文頭的格式。

                                1  1  1  1  1  1  0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                      ID                       |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    QDCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    ANCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    NSCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+|                    ARCOUNT                    |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

在上面的初始查詢中,第五行顯示的標(biāo)志是:

  • qr = 查詢

  • rd = 進(jìn)行遞歸查詢

  • ra = 遞歸數(shù)據(jù)可用

RFC 中描述的其他標(biāo)志包括:

  • aa = 權(quán)威答復(fù)

  • cd = 檢查是否禁用

  • ad = 真實(shí)數(shù)據(jù)

  • opcode = 一個(gè) 4 位字段

  • tc = 截?cái)?/p>

  • z(未使用)

添加 +trace 選項(xiàng)

如果你添加 +trace 選項(xiàng),你將從 dig 得到更多的輸出。它會(huì)添加更多信息,顯示你的 DNS 查詢?nèi)绾瓮ㄟ^名稱服務(wù)器的層次結(jié)構(gòu)找到你要找的答案。

下面顯示的所有 NS 記錄都反映了名稱服務(wù)器 &mdash;&mdash; 這只是你將看到的數(shù)據(jù)的第一部分,因?yàn)椴樵兺ㄟ^名稱服務(wù)器的層次結(jié)構(gòu)來追蹤你要找的東西:

$ dig +trace networkworld.com ; <<>> DiG 9.16.1-Ubuntu <<>> +trace networkworld.com;; global options: +cmd.                       84895   IN      NS      k.root-servers.net..                       84895   IN      NS      e.root-servers.net..                       84895   IN      NS      m.root-servers.net..                       84895   IN      NS      h.root-servers.net..                       84895   IN      NS      c.root-servers.net..                       84895   IN      NS      f.root-servers.net..                       84895   IN      NS      a.root-servers.net..                       84895   IN      NS      g.root-servers.net..                       84895   IN      NS      l.root-servers.net..                       84895   IN      NS      d.root-servers.net..                       84895   IN      NS      b.root-servers.net..                       84895   IN      NS      i.root-servers.net..                       84895   IN      NS      j.root-servers.net.;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 28 ms...

最終,你會(huì)得到與你的要求直接掛鉤的信息:

networkworld.com.       300     IN      A       151.101.2.165networkworld.com.       300     IN      A       151.101.66.165networkworld.com.       300     IN      A       151.101.130.165networkworld.com.       300     IN      A       151.101.194.165networkworld.com.       14400   IN      NS      ns-d.pnap.net.networkworld.com.       14400   IN      NS      ns-a.pnap.net.networkworld.com.       14400   IN      NS      ns0.pcworld.com.networkworld.com.       14400   IN      NS      ns1.pcworld.com.networkworld.com.       14400   IN      NS      ns-b.pnap.net.networkworld.com.       14400   IN      NS      ns-c.pnap.net.;; Received 269 bytes from 70.42.185.30#53(ns0.pcworld.com) in 116 ms

挑選響應(yīng)者

你可以使用 @ 符號(hào)來指定一個(gè)特定的名稱服務(wù)器來處理你的查詢。在這里,我們要求 Google 的主名稱服務(wù)器響應(yīng)我們的查詢:

$ dig @8.8.8.8 networkworld.com ; <<>> DiG 9.16.1-Ubuntu <<>> @8.8.8.8 networkworld.com; (1 server found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43640;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;networkworld.com.              IN      A ;; ANSWER SECTION:networkworld.com.       299     IN      A       151.101.66.165networkworld.com.       299     IN      A       151.101.194.165networkworld.com.       299     IN      A       151.101.130.165networkworld.com.       299     IN      A       151.101.2.165 ;; Query time: 48 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Sat Jul 25 11:21:19 EDT 2020;; MSG SIZE  rcvd: 109

下面所示的命令對 8.8.8.8 IP 地址進(jìn)行反向查找,以顯示它屬于 Google 的 DNS 服務(wù)器。

$ nslookup 8.8.8.88.8.8.8.in-addr.arpa    name = dns.google.

以上是“在Linux上中dig怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI