DIG(1) | General Commands Manual | DIG(1) |
dig
—
发送域名查询信息包到域名服务器
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_A
T_ANY
T_MX
T_NS
T_SOA
T_HINFO
T_AXFR
T_TXT
(参看RFC 1035以获得完整的列表.)
C_IN =
Internet).
以下的等级是可识别的:
C_IN
C_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-envsav
dig
的环境变量
(默认的,显示选项,等等.),在所有参数都解释了之后,
应保存它们到
一个文件中以使之成为默认的环境变量.
如果你不喜欢默认的标准设置而又不想在每次使用
dig
时带大量的选项,那么这很有用.
环境变量包括解析程序状态变量标识,超时和重试次数
以及详细控制
dig
输出的标识(见下面).
如果shell环境变量
LOCALDEF
设置为一个文件的名字,那么此即为默认的
dig
环境变量所保存的地方.如果没有,那么会在当前
工作目录下创建
“DiG.env”.
注意:
LOCALDEF
是特定针对 dig
解析程序,
而它不会影响标准解析程序库的操作.
每当 dig
执行时,它会查找
“./DiG.env”
或者在shell环境变量
LOCALDEF
中指定的文件.
如果这样的文件存在而且可读,那么在解释
任何参数之前, 先从
该文件中
恢复环境变量.
-envset
dig
的批处理文件一行上指定了
“-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
] ko
noko
]no
] vc
novc
]no
]
defname
(def
)def
]no
]
search
(sea
)sea
]domain=
NAME
(do
)no
]
ignore
(i
)noi
]no
]
primary
(pr
)nopr
]no
]
aaonly
(aa
)noaa
]no
] cmd
cmd
]no
]
stats
(st
)st
]no
]
Header
(H
)H
]no
]
header
(he
)he
]no
]
ttlid
(tt
)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=
#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
1990年8月30日 | BSD 4 |