Manpages

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 #) 当 发 送 数 据 报 查 询 时 , 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.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