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