Provided by: manpages-zh_1.6.3.2-1_all 

NAME(名稱)
dig — 發送域名查詢信息包到域名服務器
SYNOPSIS(總覽)
dig [@server] domain [⟨query-type⟩] [⟨query-class⟩] [+⟨query-option⟩] [-⟨dig-option⟩] [%comment]
DESCRIPTION(描述)
Dig (domain information groper 域名信息搜索)是一個靈活的 命令行工具, 它可以用來從域名系統服務器中收集信
息. Dig 有兩種模式:簡單交互模式 用於簡單的查詢,而批處理模式則可以對 包含多個查詢條目的列表執行查詢. 所
有查詢選項都可以從命令行輸入.
通常簡單的 dig 用法爲下列格式:
dig @server domain query-type query-class
這裏:
server 可爲域名或者以點分隔的Internet地址. 如果省略該可選字段, dig 會嘗試使用你機器的默認域名服務
器.
注意: 如果指定了一個域名,那麼將使用域名系統解析程序 (即BIND)來進行解析. 如果你的系統不支
持DNS,那麼可能 必須 指定一個以點分隔的地址.另外一種選擇是, 如果在你配置的某個地方有一臺這樣的
服務器, 那麼你所要做的就是建立 /etc/resolv.conf 並在其中指明默認域名服務器的位置,這樣 server
自身就可以解析了.參看 resolver(5) 以獲得 /etc/resolv.conf 相關的信息. 警告: 修改
/etc/resolv.conf 同樣會對標準的解析程序庫產生影響,而 (潛在地) 某些程序會要用到它. 作爲一種選
擇,用戶可設置環境變量 LOCALRES 爲指定的文件,這將用來取代 /etc/resolv.conf (LOCALRES 是特定針
對 dig 解析程序的,並不會牽涉到標準解析程序). 如果 LOCALRES 變量未設置或者指定的文件不能讀,那
麼就使用 /etc/resolf.conf.
domain 是指一個你請求信息的域名. 參看 -x 選項(在該部分的 “OTHER OPTIONS” 節中有介紹)以獲知指定反向
地址查詢的便捷方法.
query-type 是指你所請求的信息類型(DNS查詢類型). 如果省略,默認爲 “a” (T_A = address). 以下類型是可識別
的:
a T_A 網絡地址
any T_ANY 所有/任何與指定域相關的信息
mx T_MX 該域的郵件網關
ns T_NS 域名服務器
soa T_SOA 區域的授權記錄
hinfo T_HINFO 主機信息
axfr T_AXFR 區域傳輸記錄(必須是詢問一臺授權的服務器)
txt T_TXT 任意的字符串信息
(參看RFC 1035以獲得完整的列表.)
query-class
是指在查詢中請求的網絡等級.如果省略,默認爲 “in” (C_IN = Internet). 以下的等級是可識別的:
in C_IN Internet等級的域
any C_ANY 所有/任何等級的信息
(參看RFC 1035以獲得完整的列表.)
注意: “Any” 可以用來指定一個 等級 和/或查詢的一種 類型. Dig 會將第一次出現的 “any” 解釋爲
query-type = T_ANY. 爲了指明 query-class = C_ANY, 你必須或者指定 “any” 兩次,或者使用 -c 選
項(見下面)設置 query-class.
OTHER OPTIONS(其它選項)
%ignored-comment
“%” 用來引用一個不用作解釋的參數. 如果正以批處理的模式運行 dig 這可能很有用. 因爲不用對一組
查詢中的每個 @server-domain-name 進行解析,你就可以避免這樣做的額外開銷, 並且仍然能夠在命令行
上以域名作爲參數. 例如:
dig @128.9.0.32 %venera.isi.edu mx isi.edu
-⟨dig option⟩
“-” 用來指定一個影響 dig 操作的選項. 當前可用的選項有(儘管不能保證都有用):
-x dot-notation-address
這是指定反向地址映射的便捷的方法. 不用寫 “dig 32.0.9.128.in-addr.arpa”, 你可以簡
單地寫成 “dig -x 128.9.0.32”.
-f file dig 批處理模式的文件.該文件包含了一組查詢清單 ( dig 命令行),它們將一個接一個地執
行.以 ‘; ,’ ‘#’ 或 ‘\n’ 開頭的行將忽略.其它選項 仍然可以在命令行上出現,而且對 每
個批處理查詢都有效.
-T time 當運行於批處理模式下時,兩次接着的查詢之間的 時間間隔,以秒計. 可以用來保持兩個或
多個批處理 dig 命令大致同步運行.默認爲零.
-p port 端口號.通過監聽非標準端口號來查詢 域名服務器.默認爲53.
-P[ping-string]
在查詢返回之後,執行一次 ping(8) 命令以獲得響應時間的對照關係.這在調用shell上 顯得
不那麼自然. 該命令顯示的最後三行統計信息爲:
ping -s -server_name -56 -3
如果可選的 “ping_string” 存在,那麼 會覆蓋shell命令中的 “ping -s”.
-t query-type
指定查詢類型.可以指定爲一個將包含在類型字段 中的整數值,也可以使用 上面討論的縮寫
助記符(即 mx = T_MX).
-c query-class
指定查詢等級.可以指定爲一個將包含在等級字段 中的整數值,也可以使用 上面討論的縮寫
助記符(即in = C_IN).
-k keydir:keyname
用TSIG密鑰指定的的密鑰名來簽署這次查詢, 該密鑰名在目錄keydir下.
-envsav 該標識指定 dig 的環境變量 (默認的,顯示選項,等等.),在所有參數都解釋了之後, 應保存
它們到 一個文件中以使之成爲默認的環境變量. 如果你不喜歡默認的標準設置而又不想在
每次使用 dig 時帶大量的選項,那麼這很有用. 環境變量包括解析程序狀態變量標識,超時
和重試次數 以及詳細控制 dig 輸出的標識(見下面). 如果shell環境變量 LOCALDEF 設置
爲一個文件的名字,那麼此即爲默認的 dig 環境變量所保存的地方.如果沒有,那麼會在當前
工作目錄下創建 “DiG.env”.
注意: LOCALDEF 是特定針對 dig 解析程序, 而它不會影響標準解析程序庫的操作.
每當 dig 執行時,它會查找 “./DiG.env” 或者在shell環境變量 LOCALDEF 中指定的文件.
如果這樣的文件存在而且可讀,那麼在解釋 任何參數之前, 先從 該文件中 恢復環境變量.
-envset 該標識隻影響批處理查詢的運行.當在 dig 的批處理文件一行上指定了 “-envset” 時,在參
數之後的 dig 環境變量會被解釋爲批處理文件執行期間 默認的環境變量, 或者 直到指定了
“-envset” 的下一行爲止.
-[no] cm stick
該標識隻影響批處理查詢的運行. 它指定 dig 環境變量(通過 “-envset” 開關變量初始化
讀入或設置)會在 dig 批處理文件每次查詢(行)之前重建. 默認的 “-nostick” 表示 dig
環境變量不是固定的,因而在 dig 批處理文件中單行上指定的選項將對剩餘的行 繼續產生作
用(也即,它們不會恢復成 “sticky(固定的)” 默認值).
+⟨query-option⟩
“+” 用來指定一個在查詢信息包中需修改的或者 需用來修改 dig 輸出細節的選項.這些選項中的許多與
nslookup(8) 所承認的參數相同. 如果一個選項需帶參數,那麼格式如下:
+ keyword [=value]
絕大多數關鍵字可簡寫. “+” 選項的解釋是非常直白的 — 值與它的關鍵字之間 千萬不能用空格分隔.
當前可用的關鍵字有:
Keyword Abbrev. Meaning [default]
(關鍵字) (縮寫) (含義) [默認值]
[no] debug (deb) 打開/關閉調試模式 [deb]
[no] d2 打開/關閉特殊的調試模式 [nod2]
[no] recurse (rec) 使用/不使用遞歸查詢 [rec]
retry=# (ret) 設置重試次數爲# [4]
time=# (ti) 設置超時長度爲#秒 [4]
[no] ko 保留公開的選項(keep open options)(隱含vc) [noko]
[no] vc 使用/不使用虛擬電路 [novc]
[no] defname (def) 使用/不使用默認的域名 [def]
[no] search (sea) 使用/不使用域搜索列表 [sea]
domain=NAME (do) 設置默認的域名爲 NAME
[no] ignore (i) 忽略/不忽略截斷(trunc.)錯誤 [noi]
[no] primary (pr) 使用/不使用主服務器 [nopr]
[no] aaonly (aa) 表示只包含授權查詢的標識 [noaa]
[no] cmd 重複(echo)解釋的參數 [cmd]
[no] stats (st) 顯示查詢統計信息 [st]
[no] Header (H) 顯示基本的包頭 [H]
[no] header (he) 顯示包頭的標識 [he]
[no] ttlid (tt) 顯示TTLs(Time to Live) [tt]
[no] cl 顯示等級信息 [nocl]
[no] qr 顯示向外的查詢 [noqr]
[no] reply (rep) 顯示響應信息 [rep]
[no] ques (qu) 顯示詢問部分 [qu]
[no] answer (an) 顯示應答部分 [an]
[no] author (au) 顯示授權的部分 [au]
[no] addit (ad) 顯示附加的部分 [ad]
pfdef 設置爲默認顯示位
pfmin 設置爲最小的默認顯示位
pfset=# 設置顯示位爲# (#可以爲十六進制/八進制/十進制)
pfand=# 位和顯示位設爲#(bitwise and print flags with #)
pfor=# 位或顯示位設爲#(bitwise or print flags with #)
當發送數據報查詢時, retry 和 time 選項會影響解析程序庫的重傳策略.其算法如下:
for i = 0 to retry - 1
for j = 1 to num_servers
send_query
wait((time * (2**i)) / num_servers)
end
end
(注意: dig 通常取 “num_servers” 的值爲1 . )
DETAILS(細節)
Dig 以前要求BIND的 resolver(3) 庫的版本作一些細微的修改. 從BIND 4.9起,BIND的解析程序已經修補好 並可以正
常地與 dig 一起工作. 實質上, dig 在解釋參數和設置適合的參數時是 直來直去的 (雖然並不巧妙) Dig 會用到
resolver(3) 的例程 res_init(), res_mkquery(), res_send() 以及訪問 _res 結構.
ENVIRONMENT(環境變量)
LOCALRES 用來替換Pa /etc/resolv.conf的文件
LOCALDEF 默認的環境變量文件
另見上面對 -envsav, -envset, 和 -[no] stick 選項的說明.
FILES(相關文件)
/etc/resolv.conf
初始化的域名和域名服務器地址
./DiG.env 默認的保存默認選項的文件
SEE ALSO(另見)
named(8), resolver(3), resolver(5), nslookup(8).
STANDARDS(標準)
RFC 1035.
AUTHOR(作者)
Steve Hotz hotz@isi.edu
ACKNOWLEDGMENTS(致謝)
Dig 使用了源自 nslookup(8) 的函數, 其作者爲Andrew Cherenson.
BUGS
Dig 是蠕變特色("creeping featurism")的一個 典型實例 -- 這是因在其開發 過程中就考慮到了一些潛在應用而導致
的結果. 它可能會從這種嚴格的限定中受益.同樣, 他們設立的顯示位以及條目的間隔尺寸 很明顯地也是一種十分特別
的創意.
當問題出在解析程序身上時, Dig 不會總是能夠正常地退出(在適合的狀況下) (注意: 絕大多數一般的exit情況是能夠
處理的). 當運行於批處理模式下時尤其惱火. 如果不能正常退出(又無法俘獲)的話, 那麼整個批處理將終止;如果俘
獲了這樣的事件, dig 就只是繼續下一個查詢罷了.
[中文版維護人]
riser <boomer@ccidnet.com>
[中文版最新更新]
2001/7/19
《中國Linux論壇man手冊頁翻譯計劃》
http://cmpp.linuxforum.net
跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
4th Berkeley Distribution 1990年8月30日 DIG(1)