sourCEntral - mobile manpages

pdf

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 AT 128 DOT 9 DOT 0 DOT 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 #)

當發送數據報查詢時, retrytime 選項會影響解析程式庫的重傳策略.其算法如下:

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 AT isi DOT edu

ACKNOWLEDGMENTS(致謝)

Dig 使用了源自 nslookup(8) 的函數, 其作者為Andrew Cherenson.

BUGS

Dig 是蠕變特色("creeping featurism")的一個 典型實例 -- 這是因在其開發 過程中就考慮到了一些潛在應用而導致的結果. 它可能會從這種嚴格的限定中受益.同樣, 他們設立的顯示位以及條目的間隔尺寸 很明顯地也是一種十分特別的創意.

當問題出在解析程式身上時, Dig 不會總是能夠正常地退出(在適合的狀況下) (

注意: 絕大多數一般的exit情況是能夠處理的 ). 當運行於批處理模式下時尤其惱火. 如果不能正常退出(又無法俘獲)的話, 那麼整個批處理將終止;如果俘獲了這樣的事件, dig 就只是繼續下一個查詢罷了.

[中文版維護人]

riser <boomer AT ccidnet DOT com>

[中文版最新更新]

2001/7/19

《中國Linux論壇man手冊頁翻譯計劃》

http://cmpp.linuxforum.net

pdf