NAME(名稱)
- Provided by: manpages-zh (Version: 1.6.3.3-2)
- Report a bug
dig
[@server]
domain
[⟨query-type⟩]
[⟨query-class⟩]
[+⟨query-option⟩]
[-⟨dig-option⟩]
[%comment]
Dig (domain information groper
域名信息搜索)是一個靈活的
命令行工具,
它可以用來從域名系統服務器中收集信息.
Dig
有兩種模式:簡單交互模式
用於簡單的查詢,而批處理模式則可以對
包含多個查詢條目的列表執行查詢.
所有查詢選項都可以從命令行輸入.
通常簡單的
dig
用法爲下列格式:
dig @server
domain query-type query-class這裏:
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.
-x
選項(在該部分的
OTHER OPTIONS
節中有介紹)以獲知指定反向地址查詢的便捷方法.T_A =
address).
以下類型是可識別的:
T_AT_ANYT_MXT_NST_SOAT_HINFOT_AXFRT_TXT(參看RFC 1035以獲得完整的列表.)
C_IN =
Internet).
以下的等級是可識別的:
C_INC_ANY(參看RFC 1035以獲得完整的列表.)
注意:
“Any”
可以用來指定一個
等級
和/或查詢的一種
類型. Dig
會將第一次出現的
“any” 解釋爲
query-type = T_ANY.
爲了指明 query-class =
C_ANY,
你必須或者指定
“any” 兩次,或者使用
-c
選項(見下面)設置
query-class.
dig
這可能很有用.
因爲不用對一組查詢中的每個
@server-domain-name
進行解析,你就可以避免這樣做的額外開銷,
並且仍然能夠在命令行上以域名作爲參數.
例如:
dig @128.9.0.32
%venera.isi.edu mx isi.edu-⟨dig
option⟩-”
用來指定一個影響
dig 操作的選項.
當前可用的選項有(儘管不能保證都有用):
-x
dot-notation-addressdig
32.0.9.128.in-addr.arpa”,
你可以簡單地寫成
“dig -x 128.9.0.32”.-f
filedig
批處理模式的文件.該文件包含了一組查詢清單
( dig
命令行),它們將一個接一個地執行.以
‘; ,’ ‘#’ 或
‘\n’
開頭的行將忽略.其它選項
仍然可以在命令行上出現,而且對
每個批處理查詢都有效.-T
timedig
命令大致同步運行.默認爲零.-p
port-P[ping-string]ping
-s -server_name
-56 -3如果可選的
“ping_string”
存在,那麼
會覆蓋shell命令中的
“ping
-s”.
-t
query-typeT_MX).-c
query-class-k
keydir:keyname-envsavdig
的環境變量
(默認的,顯示選項,等等.),在所有參數都解釋了之後,
應保存它們到
一個文件中以使之成爲默認的環境變量.
如果你不喜歡默認的標準設置而又不想在每次使用
dig
時帶大量的選項,那麼這很有用.
環境變量包括解析程序狀態變量標識,超時和重試次數
以及詳細控制
dig
輸出的標識(見下面).
如果shell環境變量
LOCALDEF
設置爲一個文件的名字,那麼此即爲默認的
dig
環境變量所保存的地方.如果沒有,那麼會在當前
工作目錄下創建
“DiG.env”.
注意:
LOCALDEF
是特定針對 dig
解析程序,
而它不會影響標準解析程序庫的操作.
每當 dig
執行時,它會查找
“./DiG.env”
或者在shell環境變量
LOCALDEF
中指定的文件.
如果這樣的文件存在而且可讀,那麼在解釋
任何參數之前, 先從
該文件中
恢復環境變量.
-envsetdig
的批處理文件一行上指定了
“-envset”
時,在參數之後的
dig
環境變量會被解釋爲批處理文件執行期間
默認的環境變量,
或者 直到指定了
“-envset”
的下一行爲止.-[no] cm stickdig
環境變量(通過
“-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)time=#
(ti)no] konoko]no] vcnovc]no]
defname
(def)def]no]
search
(sea)sea]domain=NAME
(do)no]
ignore
(i)noi]no]
primary
(pr)nopr]no]
aaonly
(aa)noaa]no] cmdcmd]no]
stats
(st)st]no]
Header
(H)H]no]
header
(he)he]no]
ttlid
(tt)tt]no] clnocl]no] qrnoqr]no]
reply
(rep)rep]no]
ques
(qu)qu]no]
answer
(an)an]no]
author
(au)au]no]
addit
(ad)ad]pfdefpfminpfset=#pfand=#pfor=#當發送數據報查詢時,
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 . )
Dig
以前要求BIND的 resolver(3)
庫的版本作一些細微的修改.
從BIND
4.9起,BIND的解析程序已經修補好
並可以正常地與
dig 一起工作.
實質上, dig
在解釋參數和設置適合的參數時是
直來直去的
(雖然並不巧妙)
Dig 會用到
resolver(3) 的例程
res_init(),
res_mkquery(),
res_send()
以及訪問 _res
結構.
另見上面對
-envsav, -envset, 和
-[no]
stick 選項的說明.
RFC 1035.
Steve Hotz hotz@isi.edu
Dig
使用了源自 nslookup(8)
的函數, 其作者爲Andrew
Cherenson.
Dig
是蠕變特色("creeping
featurism")的一個 典型實例 --
這是因在其開發
過程中就考慮到了一些潛在應用而導致的結果.
它可能會從這種嚴格的限定中受益.同樣,
他們設立的顯示位以及條目的間隔尺寸
很明顯地也是一種十分特別的創意.
當問題出在解析程序身上時,
Dig
不會總是能夠正常地退出(在適合的狀況下)
(注意:
絕大多數一般的exit情況是能夠處理的).
當運行於批處理模式下時尤其惱火.
如果不能正常退出(又無法俘獲)的話,
那麼整個批處理將終止;如果俘獲了這樣的事件,
dig
就只是繼續下一個查詢罷了.
riser <boomer@ccidnet.com>
2001/7/19
http://cmpp.linuxforum.net
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh