【轉載】 linux dig 命令使用方法

 

原文地址:緩存

https://www.imooc.com/article/26971?block_id=tuijian_wz服務器

 

做者:ibeautiful
來源:慕課網工具

 

----------------------------------------------------------------------------------------------------ui

 

 

dig 命令主要用來從 DNS 域名服務器查詢主機地址信息。



 

 

查詢單個域名的 DNS 信息

 

dig 命令最典型的用法就是查詢單個主機的信息。spa

 
$ dig baidu.com

 

 

 

 dig 命令默認的輸出信息比較豐富,大概能夠分爲 5 個部分。3d

  • 第一部分顯示 dig 命令的版本和輸入的參數。
  • 第二部分顯示服務返回的一些技術詳情,比較重要的是 status。若是 status 的值爲 NOERROR 則說明本次查詢成功結束。
  • 第三部分中的 "QUESTION SECTION" 顯示咱們要查詢的域名。
  • 第四部分的 "ANSWER SECTION" 是查詢到的結果。
  • 第五部分則是本次查詢的一些統計信息,好比用了多長時間,查詢了哪一個 DNS 服務器,在什麼時間進行的查詢等等。

 

 

 

默認狀況下 dig 命令查詢 A 記錄,上圖中顯示的 A 即說明查詢的記錄類型爲 A 記錄。在嘗試查詢其它類型的記錄前讓咱們先來了解一下常見的 DNS 記錄類型

 

常見 DNS 記錄的類型

 

 

 

 

 

查詢 CNAME 類型的記錄

除了 A 記錄,常見的 DNS 記錄還有 CNAME,咱們能夠在查詢時指定要查詢的 DNS 記錄類型:blog

 

 

$ dig abc.filterinto.com CNAME

 

 

 

這樣結果中就只有 CNAME 的記錄。其實咱們能夠在查詢中指定任何 DNS 記錄的類型。

 

 

 

 

 

 

從指定的 DNS 服務器上查詢

 

因爲一些緣由,但願從指定的 DNS 服務器上進行查詢(從默認的 DNS 服務器上得到的結果可能不許確)。指定 DNS 服務器的方式爲使用 @ 符號:

$ dig @8.8.8.8 abc.filterinto.com

 

 

 

 

從上圖能夠看到本次查詢的 DNS 服務器爲 8.8.8.8。get

 

 

 

 

 

若是不指定 DNS 服務器,dig 會依次使用 /etc/resolv.conf 裏的地址做爲 DNS 服務器:

 

 

 

 

 

$ dig abc.filterinto.com

 

上面查詢的 DNS 服務器就變成了:cmd

 

 

 

 

 

 

 

 

 

反向查詢

 

在前面的查詢中咱們指定了查詢服務器爲 8.8.8.8,這是誰家的 DNS 服務器?其實咱們可使用 dig 的 -x 選項來反向解析 IP 地址對應的域名

 

$ dig -x 8.8.8.8 +short

 

 

 

好吧,應該是谷歌家的,能夠放心使用了。域名

 

 

 

 

 

 

控制顯示結果

dig 命令默認返回的結果展現詳細的信息,若是要得到精簡的結果可使用 +short 選項:

 

$ dig +short abc.filterinto.com

 

 

 這下顯示的結果就清爽多了。

 

 

其實咱們還能夠經過更多選項來控制輸出的內容,好比只想顯示 "ANSWER SECTION" 的內容:

$ dig abc.filterinto.com +nocomments +noquestion +noauthority +noadditional +nostats

 

 

 

 

這個結果很不錯,就是使用的選項太多了(dig 命令有不少這樣的選項,詳情請參考使用手冊)。咱們能夠換一種優雅一些的方式來實現和上面相同的結果:
$ dig abc.filterinto.com +noall +answer

 

 

 

 

 

 

查看 TTL(Time to Live)

 

TTL 是 DNS 解析中很重要的指標,主要是控制 DNS 記錄在 DNS 服務器上的緩存時間:

 

$ dig abc.filterinto.com

 

 

 

 

 

查詢結果中的單位是秒。經過下面的命令能夠顯示精簡一些測結果:

$ dig +nocmd +noall +answer +ttlid abc.filterinto.com

 

 








 

 

跟蹤整個查詢過程

 

若是你好奇 dig 命令執行查詢時都經歷了哪些過程,你能夠嘗試使用 +trace 選項。它會輸出從根域到最終結果的全部信息:
$ dig +trace abc.filterinto.com

 

 

 

上圖中顯示的並非一個完整的結果,感興趣的朋友能夠本身嘗試。

 

 

 

總結

dig 是一個很給力 DNS 查詢工具,本文僅介紹了其常見用法,更多的命令選項及使用方法請查看 man page。

相關文章
相關標籤/搜索