Provided by: manpages-zh_1.5.1-1_all bug

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]

                 (关键字)     (缩写)   (含义) [默认值]

                 dneobug     (deb)'                        打开/关闭调试模式
                                         [deb]
                 dn2o]        '                        打开/关闭特殊的调试模式
                                         [nod2]
                 rneocurse   (rec)'                        使用/不使用递归查询
                                         [rec]
                 retry=#ret)'                        设置重试次数为# [4]
                 time=# (ti)'                        设置超时长度为#秒 [4]
                 knoonoko]
                 vnconovc]
                 dneofname   (def)'                        使用/不使用默认的域名
                                         [def]
                 sneoarch    (sea)'                        使用/不使用域搜索列表
                                         [sea]
                 dodmoain=NAME                  设置默认的域名为 NAME
                 ingonore
                                         (i)'                        忽略/不忽略截断(trunc.)错误
                                         [noi]
                 pnroimary   (pr)'                        使用/不使用主服务器
                                         [nopr]
                 anaonly
                                         (aa)'                        表示只包含授权查询的标识
                                         [noaa]
                 cnmod'                        重复(echo)解释的参数 [cmd]
                 sntoats     (st)'                        显示查询统计信息 [st]
                 Hneoader    (H)'                        显示基本的包头 [H]
                 hneoader    (he)'                        显示包头的标识 [he]
                 tntolid     (tt)'                        显示TTLs(Time to Live)
                                         [tt]
                 cnlonocl]
                 qnronoqr]
                 rneoply     (rep)'                        显示响应信息 [rep]
                 qnuoes      (qu)'                        显示询问部分 [qu]
                 anoswer    (an)'                        显示应答部分 [an]
                 anuothor    (au)'                        显示授权的部分 [au]
                 andodit     (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@isi.edu

ACKNOWLEDGMENTS()
     Dig 使用了源自 nslookup(8) 的函数, 其作者为Andrew Cherenson.

BUGS

     Dig 是蠕变特色("creeping featurism")的一个 典型实例 -- 这是因在其开发
     过程中就考虑到了一些潜在应用而导致的结果.
     它可能会从这种严格的限定中受益.同样, 他们设立的显示位以及条目的间隔尺寸
     很明显地也是一种十分特别的创意.

     当问题出在解析程序身上时, Dig 不会总是能够正常地退出(在适合的状况下)
     : 绝大多数一般的exit情况是能够处理的).
     当运行于批处理模式下时尤其恼火.  如果不能正常退出(又无法俘获)的话,
     那么整个批处理将终止;如果俘获了这样的事件, dig 就只是继续下一个查询罢了.

[boomer@ccidnet.com>

[inuxanhttp://cmpp.linuxforum.net