日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何使用dig

你好!最近我和幾個(gè)朋友聊天,他們提到希望知道如何使用 dig 來(lái)進(jìn)行 DNS 查詢(xún),所以這是一篇關(guān)于它的速讀博文。

專(zhuān)注于為中小企業(yè)提供做網(wǎng)站、成都做網(wǎng)站服務(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)變。

當(dāng)我第一次使用 dig 時(shí),我發(fā)現(xiàn)它有點(diǎn)嚇人 —— 有這么多的選項(xiàng)!我打算把大部分的選項(xiàng)省略。在這篇文章中,我打算不談 dig 的大部分選項(xiàng),只談我實(shí)際使用的選項(xiàng)。

我最近還了解到,你可以設(shè)置一個(gè) .digrc 配置文件,讓它的輸出更容易閱讀,這讓它的使用變得更加輕松。

幾年前我還畫(huà)了一個(gè)關(guān)于 dig 的 zine 頁(yè),但我想寫(xiě)這篇文章來(lái)包括更多的信息。

兩種類(lèi)型的 dig 參數(shù):查詢(xún)和格式化

有兩種主要的參數(shù)可以傳遞給 dig

  1. 告訴 dig 要進(jìn)行什么 DNS 查詢(xún)的參數(shù)。
  2. 告訴 dig 如何 格式化響應(yīng)的參數(shù)。

首先,讓我們看一下查詢(xún)選項(xiàng)。

主要的查詢(xún)選項(xiàng)

你通常想控制 DNS 查詢(xún)的 3 件事是:

  1. 名稱(chēng)(如 jvns.ca)。默認(rèn)情況下,查詢(xún)的是空名稱(chēng)(.)。
  2. DNS 查詢(xún)類(lèi)型(如 A 或 CNAME)。默認(rèn)是 A
  3. 發(fā)送查詢(xún)的 服務(wù)器(如 8.8.8.8)。默認(rèn)是 /etc/resolv.conf 中的內(nèi)容。

其格式是:

dig @server name type

這里有幾個(gè)例子:

  • dig @8.8.8.8 jvns.ca 向谷歌的公共 DNS 服務(wù)器(8.8.8.8)查詢(xún) jvns.ca。
  • dig ns jvns.ca 對(duì) jvns.ca 進(jìn)行類(lèi)型為 NS 的查詢(xún)。

-x:進(jìn)行反向 DNS 查詢(xún)

我偶爾使用的另一個(gè)查詢(xún)選項(xiàng)是 -x,用于進(jìn)行反向 DNS 查詢(xún)。下面是輸出結(jié)果的樣子。

$ dig -x 172.217.13.174
174.13.217.172.in-addr.arpa. 72888 IN PTR yul03s04-in-f14.1e100.net。

-x 不是魔術(shù)。dig -x 172.217.13.174 只是對(duì) 174.13.217.172.in-addr.arpa. 做了一個(gè) PTR 查詢(xún)。下面是如何在不使用 `-x’ 的情況下進(jìn)行完全相同的反向 DNS 查詢(xún)。

$ dig ptr 174.13.217.172.in-addr.arpa.
174.13.217.172.in-addr.arpa. 72888 IN PTR yul03s04-in-f14.1e100.net。

我總是使用 -x,因?yàn)樗梢詼p少輸入。

格式化響應(yīng)的選項(xiàng)

現(xiàn)在,讓我們討論一下你可以用來(lái)格式化響應(yīng)的參數(shù)。

我發(fā)現(xiàn) dig 默認(rèn)格式化 DNS 響應(yīng)的方式對(duì)初學(xué)者來(lái)說(shuō)是很難接受的。下面是輸出結(jié)果的樣子:

; <<>> DiG 9.16.20 <<>> -r jvns.ca
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28629
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: d87fc3022c0604d60100000061ab74857110b908b274494d (good)
;; QUESTION SECTION:
;jvns.ca.           IN  A

;; ANSWER SECTION:
jvns.ca.        276 IN  A   172.64.80.1

;; Query time: 9 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Dec 04 09:00:37 EST 2021
;; MSG SIZE  rcvd: 80

如果你不習(xí)慣看這個(gè),你可能需要花點(diǎn)時(shí)間來(lái)篩選,找到你要找的 IP 地址。而且大多數(shù)時(shí)候,你只對(duì)這個(gè)響應(yīng)中的一行感興趣(jvns.ca. 180 IN A 172.64.80.1)。

下面是我最喜歡的兩種方法,可以使 dig 的輸出更容易管理:

方式 1 : +noall +answer

這告訴 dig 只打印 DNS 響應(yīng)中的“答案”部分的內(nèi)容。下面是一個(gè)查詢(xún) google.com 的 NS 記錄的例子:

$ dig +noall +answer ns google.com
google.com.     158564  IN  NS  ns4.google.com.
google.com.     158564  IN  NS  ns1.google.com.
google.com.     158564  IN  NS  ns2.google.com.
google.com.     158564  IN  NS  ns3.google.com.

這里的格式是:

NAME         TTL            TYPE   CONTENT
google.com   158564   IN    NS     ns3.google.com.

順便說(shuō)一下:如果你曾經(jīng)想知道 IN 是什么意思,它是指“查詢(xún)類(lèi)”,代表“互聯(lián)網(wǎng)internet”。它基本上只是上世紀(jì) 80、90 年代的遺物,當(dāng)時(shí)還有其他網(wǎng)絡(luò)與互聯(lián)網(wǎng)競(jìng)爭(zhēng),如“混沌網(wǎng)絡(luò)chaosnet”。

方式 2:+short

這就像 dig +noall +answer,但更短:它只顯示每條記錄的內(nèi)容。比如說(shuō):

$ dig +short ns google.com
ns2.google.com.
ns1.google.com.
ns4.google.com.
ns3.google.com.

你可以在 digrc 中設(shè)置格式化選項(xiàng)

如果你不喜歡 dig 的默認(rèn)格式(我就不喜歡?。?,你可以在你的主目錄下創(chuàng)建一個(gè) .digrc 文件,告訴它默認(rèn)使用不同的格式。

我非常喜歡 +noall +answer 格式,所以我把 +noall +answer 放在我的 ~/.digrc 中。下面是我使用該配置文件運(yùn)行 dig jvns.ca 時(shí)的情況。

$ dig jvns.ca
jvns.ca.        255在172.64.80.1中

這樣讀起來(lái)就容易多了!

如果我想回到所有輸出的長(zhǎng)格式(我有時(shí)會(huì)這樣做,通常是因?yàn)槲蚁肟错憫?yīng)的權(quán)威部分的記錄),我可以通過(guò)運(yùn)行再次得到一個(gè)長(zhǎng)答案。

$ dig +all jvns.ca

dig +trace

我使用的最后一個(gè) dig 選項(xiàng)是 +trace。dig +trace 模仿 DNS 解析器在查找域名時(shí)的做法 —— 它從根域名服務(wù)器開(kāi)始,然后查詢(xún)下一級(jí)域名服務(wù)器(如 .com),以此類(lèi)推,直到到達(dá)該域名的權(quán)威域名服務(wù)器。因此,它將進(jìn)行大約 30 次 DNS 查詢(xún)。(我用 tcpdump 檢查了一下,對(duì)于每個(gè)根域名服務(wù)器的 A / AAAA 記錄它似乎要進(jìn)行 2 次查詢(xún),所以這已經(jīng)是 26 次查詢(xún)了。我不太清楚它為什么這樣做,因?yàn)樗鼞?yīng)該已經(jīng)有了這些 IP 的硬編碼,但它確實(shí)如此。)

我發(fā)現(xiàn)這對(duì)了解 DNS 的工作原理很有用,但我不認(rèn)為我用它解決過(guò)問(wèn)題。

為什么要用 dig

盡管有一些更簡(jiǎn)單的工具來(lái)進(jìn)行 DNS 查詢(xún)(如 dog 和 host),我發(fā)現(xiàn)自己還是堅(jiān)持使用 dig

我喜歡 dig 的地方實(shí)際上也是我 不喜歡 dig 的地方 —— 它顯示了大量的細(xì)節(jié)!

我知道,如果我運(yùn)行 dig +all,它將顯示 DNS 響應(yīng)的所有部分。例如,讓我們查詢(xún) jvns.ca 的一個(gè)根名稱(chēng)服務(wù)器。響應(yīng)有 3 個(gè)部分,我可能會(huì)關(guān)心:回答部分、權(quán)威部分和附加部分。

$ dig @h.root-servers.net. jvns.ca +all
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18229
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 9
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;jvns.ca.           IN  A

;; AUTHORITY SECTION:
ca.         172800  IN  NS  c.ca-servers.ca.
ca.         172800  IN  NS  j.ca-servers.ca.
ca.         172800  IN  NS  x.ca-servers.ca.
ca.         172800  IN  NS  any.ca-servers.ca.

;; ADDITIONAL SECTION:
c.ca-servers.ca.    172800  IN  A   185.159.196.2
j.ca-servers.ca.    172800  IN  A   198.182.167.1
x.ca-servers.ca.    172800  IN  A   199.253.250.68
any.ca-servers.ca.  172800  IN  A   199.4.144.2
c.ca-servers.ca.    172800  IN  AAAA    2620:10a:8053::2
j.ca-servers.ca.    172800  IN  AAAA    2001:500:83::1
x.ca-servers.ca.    172800  IN  AAAA    2620:10a:80ba::68
any.ca-servers.ca.  172800  IN  AAAA    2001:500:a7::2

;; Query time: 103 msec
;; SERVER: 198.97.190.53#53(198.97.190.53)
;; WHEN: Sat Dec 04 11:23:32 EST 2021
;; MSG SIZE  rcvd: 289

dog 也顯示了 “附加” 部分的記錄,但它沒(méi)有明確指出哪個(gè)是哪個(gè)(我猜 + 意味著它在附加部分?) ,但它似乎沒(méi)有顯示“權(quán)威”部分的記錄。

$ dog @h.root-servers.net. jvns.ca 
  NS ca.                2d0h00m00s A "c.ca-servers.ca."
  NS ca.                2d0h00m00s A "j.ca-servers.ca."
  NS ca.                2d0h00m00s A "x.ca-servers.ca."
  NS ca.                2d0h00m00s A "any.ca-servers.ca."
   A c.ca-servers.ca.   2d0h00m00s + 185.159.196.2
   A j.ca-servers.ca.   2d0h00m00s + 198.182.167.1
   A x.ca-servers.ca.   2d0h00m00s + 199.253.250.68
   A any.ca-servers.ca. 2d0h00m00s + 199.4.144.2
AAAA c.ca-servers.ca.   2d0h00m00s + 2620:10a:8053::2
AAAA j.ca-servers.ca.   2d0h00m00s + 2001:500:83::1
AAAA x.ca-servers.ca.   2d0h00m00s + 2620:10a:80ba::68
AAAA any.ca-servers.ca. 2d0h00m00s + 2001:500:a7::2

而 host 似乎只顯示“答案”部分的記錄(在這種情況下沒(méi)有得到記錄):

$ host jvns.ca h.root-servers.net
Using domain server:
Name: h.root-servers.net
Address: 198.97.190.53#53
Aliases:

總之,我認(rèn)為這些更簡(jiǎn)單的 DNS 工具很好(我甚至自己做了一個(gè) 簡(jiǎn)單的網(wǎng)絡(luò) DNS 工具),如果你覺(jué)得它們更容易,你絕對(duì)應(yīng)該使用它們,但這就是為什么我堅(jiān)持使用 dig 的原因。drill 的輸出格式似乎與 dig 的非常相似,也許 drill 更好!但我還沒(méi)有真正試過(guò)它。

就這些了

我最近才知道 .digrc,我非常喜歡使用它,所以我希望它能幫助你們中的一些人花更少的時(shí)間來(lái)整理 dig 的輸出!

有人在 Twitter 上指出,如果有辦法讓 dig 顯示響應(yīng)的簡(jiǎn)短版本,其中也包括響應(yīng)的狀態(tài)(如 NOERRORNXDOMAIN、SERVFAIL 等),那就更好了!我同意這個(gè)觀點(diǎn)!不過(guò)我在手冊(cè)中沒(méi)有找到這樣的選項(xiàng)。



文章名稱(chēng):如何使用dig
文章URL:http://www.5511xx.com/article/coosseh.html