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