DNS(二)通過dig命令理解DNS

前一篇文章抽象理解DNS 介紹了 DNS 的基本知識窥岩,本文介紹查詢 DNS 的一個最通用工具 dig,通過它可以更好的理解 DNS晃洒,掌握這個工具后球及,遇到和 DNS 有關(guān)問題時集歇,就不會束手無策了诲宇。

DNS 命令輸出格式

輸入 dig rss.newyingyong.cn 命令,通常返回

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49814
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 17

;; QUESTION SECTION:
;rss.newyingyong.cn.            IN      A

;; ANSWER SECTION:
rss.newyingyong.cn.     600     IN      A       139.129.23.162

;; AUTHORITY SECTION:
newyingyong.cn.         86398   IN      NS      dns10.hichina.com.
newyingyong.cn.         86398   IN      NS      dns9.hichina.com.

;; ADDITIONAL SECTION:
dns9.hichina.com.       3490    IN      A       140.205.81.15
dns9.hichina.com.       3490    IN      A       140.205.81.25

;; Query time: 5 msec
;; SERVER: 10.202.72.116#53(10.202.72.116)
;; WHEN: Sat Jul 01 11:00:38 CST 2017
;; MSG SIZE  rcvd: 369

各個返回參數(shù)說明下:

  • status: NOERROR 表示查詢沒有什么錯誤,Query time 表示查詢完成時間
  • SERVER: 10.202.72.116#53(10.202.72.116)旭愧,表示本地 DNS 服務(wù)器地址和端口號
  • QUESTION SECTION 表示需要查詢的內(nèi)容宙暇,這里需要查詢域名的 A 記錄
  • ANSWER SECTION 表示查詢結(jié)果占贫,返回 A 記錄的 IP 地址桃熄。600 表示本次查詢緩存時間,在 600 秒本地 DNS 服務(wù)器可以直接從緩存返回結(jié)果
  • AUTHORITY SECTION 表示從那臺 DNS 服務(wù)器獲取到具體的 A 記錄信息型奥。記住本地 DNS 服務(wù)器只是查詢瞳收,而 AUTHORITY SECTION 返回的服務(wù)器是權(quán)威 DNS 服務(wù)器,由它來維護(hù) rss.newyingyong.cn 的域名信息厢汹。返回的 DNS 記錄類型是 NS螟深,對應(yīng)的名稱是 dns10.hichina.com.,dns9.hichina.com.烫葬。
  • ADDITIONAL SECTION 表示 NS 服務(wù)器對應(yīng)的 IP 地址界弧,這些 IP 地址對應(yīng)的服務(wù)器安裝了 BIND 軟件凡蜻。

DNS 服務(wù)器記錄類型

默認(rèn) dig rss.newyingyong.cn 返回的是 A 記錄類型夹纫,其他類型還包括 MX咽瓷、NS、SOA 等舰讹,我們可以使用 dig -t a/mx/soa/mx rss.newyingyong.cn 進(jìn)行查詢茅姜。

(1)dig -t a www.weibo.com +noall +answer

;; global options: +cmd
www.weibo.com.          21      IN      A       180.149.134.142
www.weibo.com.          21      IN      A       180.149.134.141

其中 +noall +answer 表示返回簡短信息,這里表示查詢 A 記錄月匣。
注意钻洒,這里返回 2 個 A 記錄,這相當(dāng)于 DNS 均衡锄开,比如瀏覽器客戶端查詢 www.weibo.com 域名得到兩個 A 記錄素标,然后連接其中的一個 IP 地址對應(yīng)的 WEB 服務(wù)器,假如發(fā)現(xiàn)連接不上萍悴,可以使用另外一個地址連接头遭。

比如在萬網(wǎng)域名管理后臺,可以給同一個域名添加兩條 A 記錄癣诱,相當(dāng)于實現(xiàn)了域名負(fù)載均衡计维。

(2)dig -t ns weibo.com

注意假如用戶輸入 dig -t ns www.weibo.com 是查詢不出 NS 任何記錄的,原因在于只有一級域名(或者頂級域名)才有 NS 記錄撕予,通過 FQDN 是查詢不出 NS 信息的鲫惶,所以要輸入 dig -t ns weibo.com ,返回:

;; ANSWER SECTION:
weibo.com.              9962    IN      NS      ns3.sina.com.cn.
weibo.com.              9962    IN      NS      ns2.sina.com.cn.
weibo.com.              9962    IN      NS      ns1.sina.com.cn.
weibo.com.              9962    IN      NS      ns4.sina.com.
weibo.com.              9962    IN      NS      ns4.sina.com.cn.
weibo.com.              9962    IN      NS      ns3.sina.com.

;; ADDITIONAL SECTION:
ns1.sina.com.cn.        14162   IN      A       202.106.184.166
ns2.sina.com.cn.        14906   IN      A       61.172.201.254
ns3.sina.com.           26496   IN      A       61.172.201.254
ns3.sina.com.cn.        9714    IN      A       123.125.29.99
ns4.sina.com.           24154   IN      A       123.125.29.99
ns4.sina.com.cn.        9733    IN      A       121.14.1.22

微博的權(quán)威服務(wù)器是微博自己建立的实抡,有 6 個名稱和 IP 地址:

  • 有這么多地址欠母,主要是防止單點(diǎn)問題,比如某個 NS 服務(wù)器連接不上吆寨,可以連接其他 NS 服務(wù)器
  • 上述的 NS IP 地址屬于不同的運(yùn)營商赏淌,不同的運(yùn)營商可能會查詢對應(yīng)的 NS 服務(wù)器,原因就是加速查詢啄清。

(3)dig -t a www.baidu.com

;; ANSWER SECTION:
www.baidu.com.          691     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       271     IN      A       115.239.211.112
www.a.shifen.com.       271     IN      A       115.239.210.27

這里返回的 CNAME 表示查詢 www.baidu.com 的信息其實是 www.a.shifen.com 返回的 A 記錄猜敢。

CNAME 的存在原因:

  • 某個域名(A)可能會下線,但是這些域名可能還是被訪問到盒延,為了避免不友好的提示,可以將這個域名 cname 到另外個域名(B)鼠冕,這樣訪問 B 相當(dāng)于返回 A添寺。
  • 很多公司項目可能有很多個域名,但是指定的 IP 地址可能每幾個懈费,一旦 IP 地址變化计露,可能要修改每個域名的 DNS 信息。假如這些域名 cname 到某個特定的域名,那么修改域名信息的時候就會非常方便票罐。

(4)dig -t mx newyingyong.cn

;; QUESTION SECTION:
;newyingyong.cn.                        IN      MX

;; ANSWER SECTION:
newyingyong.cn.         600     IN      MX      10 mx.sina.net.

返回 MX 記錄叉趣,注意這里不能輸入 dig -t mx rss.newyingyong.cn ,因為 MX 記錄一般配置在一級域名下该押。

DNS 迭代查詢的具體流程

對于客戶端(比如瀏覽器)查詢本地域名 DNS 信息的時候疗杉,是遞歸查詢的方式。而本地 DNS 服務(wù)器為了獲取到某個域名的 DNS 信息蚕礼,會使用迭代的方式(一步步詢問)烟具。通過 dig +trace blog.newyingyong.cn 來進(jìn)行了解

;; global options: +cmd
.                       18535   IN      NS      h.root-servers.net.
.                       18535   IN      NS      m.root-servers.net.
.                       18535   IN      NS      i.root-servers.net.
.                       18535   IN      NS      d.root-servers.net.
.                       18535   IN      NS      a.root-servers.net.
.                       18535   IN      NS      b.root-servers.net.
;; Received 1097 bytes from 10.202.72.118#53(10.202.72.118) in 53 msec

cn.                     172800  IN      NS      d.dns.cn.
cn.                     172800  IN      NS      e.dns.cn.
cn.                     172800  IN      NS      b.dns.cn.
cn.                     172800  IN      NS      a.dns.cn.
cn.                     172800  IN      NS      c.dns.cn.
;; Received 646 bytes from 192.36.148.17#53(i.root-servers.net) in 150 msec

newyingyong.cn.         86400   IN      NS      dns10.hichina.com.
newyingyong.cn.         86400   IN      NS      dns9.hichina.com.
;; Received 589 bytes from 203.119.29.1#53(e.dns.cn) in 37 msec

blog.newyingyong.cn.    600     IN      A       139.129.23.162
;; Received 64 bytes from 106.11.211.55#53(dns9.hichina.com) in 19 ms
  • 本地 DNS 服務(wù)器首先查詢根域名服務(wù)器(10.202.72.118),得到 13 組根域名服務(wù)器中的一個奠蹬,并返回對應(yīng)某個根域名的 NS 服務(wù)器朝聋。
  • 根域名NS 服務(wù)器(192.36.148.17)說并不知道 blog.newyingyong.cn 頂級域名的具體信息,你去問 .cn 頂級域名服務(wù)器去把囤躁,并返回 .cn 域名服務(wù)器的 NS 記錄冀痕。
  • .cn 域名服務(wù)器(203.119.29.1)說,我也不知道 blog.newyingyong.cn 的信息狸演,但是我知道是阿里云管理的言蛇,并返回阿里云服務(wù)器的 NS 地址。
  • 阿里云 DNS 服務(wù)器(106.11.211.55)說严沥,這個域名確實是我管理的猜极,最終返回 blog.rss.newyingyong.cn 的 A 記錄(139.129.23.162)。

DNS 緩存

假如 DNS 服務(wù)器每次都需要迭代或遞歸查詢上一級的 DNS 服務(wù)器消玄,那么 DNS 可能就不堪重負(fù)跟伏,考慮到域名的 DNS 信息不會頻繁的修改,所以每一級中的 DNS 服務(wù)器都會緩存結(jié)果(包括瀏覽器這樣的客戶端也會緩存 DNS 結(jié)果)翩瓜。

緩存帶來的弊端可能就是 DNS 信息可能不是最新的受扳,比如某個域名管理員修改了某個域名的 A 記錄,由于每一級的 DNS 服務(wù)器都有緩存兔跌,所以最后客戶端拿到的結(jié)果不是最新的勘高,為了獲取到最新的結(jié)果,可以直接向權(quán)威域名服務(wù)器進(jìn)行信息查詢坟桅。

比如 blog.rss.newyingyong.cn 的域名是由 dns9.hichina.com.(106.11.211.55)管理的华望,可以直接通過 dig @106.11.211.55 -t a newyingyong.cn 或者 dig @dns9.hichina.com -t a newyingyong.cn 獲取最新 A 記錄。

另外你也可以不查詢本地 DNS 服務(wù)器獲取信息仅乓,比如可以使用 8.8.8.8 Google Public DNS 進(jìn)行查詢赖舟,dig @8.8.8.8 -t a newyingyong.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夸楣,一起剝皮案震驚了整個濱河市宾抓,隨后出現(xiàn)的幾起案子子漩,更是在濱河造成了極大的恐慌,老刑警劉巖石洗,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幢泼,死亡現(xiàn)場離奇詭異,居然都是意外死亡讲衫,警方通過查閱死者的電腦和手機(jī)缕棵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焦人,“玉大人挥吵,你說我怎么就攤上這事』ㄍ郑” “怎么了忽匈?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長矿辽。 經(jīng)常有香客問我丹允,道長,這世上最難降的妖魔是什么袋倔? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任雕蔽,我火速辦了婚禮,結(jié)果婚禮上宾娜,老公的妹妹穿的比我還像新娘批狐。我一直安慰自己,他們只是感情好前塔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布嚣艇。 她就那樣靜靜地躺著,像睡著了一般华弓。 火紅的嫁衣襯著肌膚如雪食零。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天寂屏,我揣著相機(jī)與錄音贰谣,去河邊找鬼。 笑死迁霎,一個胖子當(dāng)著我的面吹牛吱抚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播考廉,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼秘豹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芝此?” 一聲冷哼從身側(cè)響起憋肖,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎婚苹,沒想到半個月后岸更,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膊升,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年怎炊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廓译。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡评肆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出非区,到底是詐尸還是另有隱情瓜挽,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布征绸,位于F島的核電站久橙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏管怠。R本人自食惡果不足惜淆衷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渤弛。 院中可真熱鬧祝拯,春花似錦、人聲如沸她肯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辕宏。三九已至畜晰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑞筐,已是汗流浹背凄鼻。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留聚假,地道東北人块蚌。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像膘格,于是被迫代替她去往敵國和親峭范。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1. 概述 在網(wǎng)絡(luò)環(huán)境中一般用戶只需要在瀏覽器中輸入url如www.sunny.com就可以到對應(yīng)服務(wù)器獲取相應(yīng)的...
    ghbsunny閱讀 2,878評論 0 7
  • DNS 是網(wǎng)絡(luò)上非常重要的一個概念瘪贱,不僅僅是碼農(nóng)任何上網(wǎng)的人都會接觸它纱控,DNS 是非常復(fù)雜辆毡,這篇文章希望以比較簡單...
    虞大膽的嘰嘰喳喳閱讀 3,308評論 3 22
  • dig命令 nslookup:query Internet name servers interactively;...
    shuff1e閱讀 3,772評論 0 0
  • @@@時間 2013-12-24 14:50:00** 博客園-原創(chuàng)精華區(qū) 原文 http://www.cn...
    蘇文星閱讀 1,403評論 0 7
  • 在使用consul做docker容器服務(wù)化的過程中,使用到了dnsmasq做DNS請求轉(zhuǎn)發(fā)甜害,于是研究了下DNS協(xié)議...
    __七把刀__閱讀 3,987評論 2 13