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(另见)¶
STANDARDS(标准)¶
RFC 1035.
AUTHOR(作者)¶
Steve Hotz hotz@isi.edu
ACKNOWLEDGMENTS(致谢)¶
Dig
使用了源自 nslookup(8)
的函数, 其作者为Andrew
Cherenson.
BUGS¶
Dig
是蠕变特色("creeping
featurism")的一个 典型实例 --
这是因在其开发
过程中就考虑到了一些潜在应用而导致的结果.
它可能会从这种严格的限定中受益.同样,
他们设立的显示位以及条目的间隔尺寸
很明显地也是一种十分特别的创意.
当问题出在解析程序身上时,
Dig
不会总是能够正常地退出(在适合的状况下)
(注意:
绝大多数一般的exit情况是能够处理的).
当运行于批处理模式下时尤其恼火.
如果不能正常退出(又无法俘获)的话,
那么整个批处理将终止;如果俘获了这样的事件,
dig
就只是继续下一个查询罢了.
[中文版维护人]¶
riser <boomer@ccidnet.com>
[中文版最新更新]¶
2001/7/19
《中国Linux论坛man手册页翻译计划》¶
跋¶
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
1990年8月30日 | BSD 4 |