DIG(1) | General Commands Manual | DIG(1) |
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以獲得完整的列表.)
- a
- 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. - in
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
filedig
批處理模式的文件.該文件包含了一組查詢清單 (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(環境變量)¶
另見上面對
-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.eduACKNOWLEDGMENTS(致謝)¶
Dig
使用了源自
nslookup(8) 的函數,
其作者爲Andrew Cherenson.
BUGS¶
Dig
是蠕變特色("creeping
featurism")的一個 典型實例 --
這是因在其開發
過程中就考慮到了一些潛在應用而導致的結果.
它可能會從這種嚴格的限定中受益.同樣,
他們設立的顯示位以及條目的間隔尺寸
很明顯地也是一種十分特別的創意.
當問題出在解析程序身上時,
Dig
不會總是能夠正常地退出(在適合的狀況下)
(注意:
絕大多數一般的exit情況是能夠處理的).
當運行於批處理模式下時尤其惱火.
如果不能正常退出(又無法俘獲)的話,
那麼整個批處理將終止;如果俘獲了這樣的事件,
dig
就只是繼續下一個查詢罷了.
[中文版維護人]¶
riser <boomer@ccidnet.com>[中文版最新更新]¶
2001/7/19《中國Linux論壇man手冊頁翻譯計劃》¶
跋¶
本頁面中文版由中文 man 手冊頁計劃提供。中文 man 手冊頁計劃:../../man-pages-zh/manpages-zh
1990年8月30日 | BSD 4 |