.\" ++Copyright++ 1993 .\" - .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .\" .\" Distributed with 'dig' version 2.0 from University of Southern .\" California Information Sciences Institute (USC-ISI). .\" .\" dig.1 2.0 (USC-ISI) 8/30/90 .\" .Dd 1990年8月30日 .Dt DIG 1 .Os BSD 4 .Sh NAME(名称) .Nm dig .Nd 发送域名查询信息包到域名服务器 .Sh SYNOPSIS(总览) .Nm dig .Op Ic @ Ns Ar server .Ar domain .Op Aq Ar query-type .Op Aq Ar query-class .Op Ic + Ns Aq Ar query-option .Op Fl Aq Ar dig-option .Op Ar %comment .Sh DESCRIPTION(描述) .Ic Dig (domain information groper 域名信息搜索)是一个灵活的 命令行工具, 它可以用来从域名系统服务器中收集信息. .Ic Dig 有两种模式:简单交互模式 用于简单的查询,而批处理模式则可以对 包含多个查询条目的列表执行查询. 所有查询选项都可以从命令行输入. .Pp 通常简单的 .Ic dig 用法为下列格式: .Pp .Bd -ragged -offset indent-two .Ic dig @ Ns Ar server domain query-type query-class .Ed .Pp 这里: .Bl -tag -width Fl .It Ar server 可为域名或者以点分隔的Internet地址. 如果省略该可选字段, .Ic dig 会尝试使用你机器的默认域名服务器. .sp 1 .Em 注意: 如果指定了一个域名,那么将使用域名系统解析程序 (即BIND)来进行解析. 如果你的系统不支持DNS,那么可能 .Em 必须 指定一个以点分隔的地址.另外一种选择是, 如果在你配置的某个地方有一台这样的服务器, 那么你所要做的就是建立 .Pa /etc/resolv.conf 并在其中指明默认域名服务器的位置,这样 .Ar server 自身就可以解析了.参看 .Xr resolver 5 以获得 .Pa /etc/resolv.conf 相关的信息. .Sy 警告: 修改 .Pa /etc/resolv.conf 同样会对标准的解析程序库产生影响,而 .Pq 潜在地 某些程序会要用到它. 作为一种选择,用户可设置环境变量 .Ev LOCALRES 为指定的文件,这将用来取代 .Pa /etc/resolv.conf .Po Ns Ev LOCALRES 是特定针对 .Ic dig 解析程序的,并不会牵涉到标准解析程序 .Pc . 如果 .Ev LOCALRES 变量未设置或者指定的文件不能读,那么就使用 .Pa /etc/resolf.conf . .It Ar domain 是指一个你请求信息的域名. 参看 .Fl x 选项(在该部分的 .Sx OTHER OPTIONS 节中有介绍)以获知指定反向地址查询的便捷方法. .It Ar query-type 是指你所请求的信息类型(DNS查询类型). 如果省略,默认为 .Dq Ar a .Pq Dv T_A = Ar address . 以下类型是可识别的: .Pp .Bl -hang -width "hinfo T_HINFO " -compact .It Ar a\ \ \ \ \ \ Dv T_A 网络地址 .It Ar any\ \ \ \ Dv T_ANY 所有/任何与指定域相关的信息 .It Ar mx\ \ \ \ \ Dv T_MX 该域的邮件网关 .It Ar ns\ \ \ \ \ Dv T_NS 域名服务器 .It Ar soa\ \ \ \ Dv T_SOA 区域的授权记录 .It Ar hinfo\ \ Dv T_HINFO 主机信息 .It Ar axfr\ \ \ Dv T_AXFR 区域传输记录(必须是询问一台授权的服务器) .It Ar txt\ \ \ \ Dv T_TXT 任意的字符串信息 .El .Pp (参看RFC 1035以获得完整的列表.) .It Ar query-class 是指在查询中请求的网络等级.如果省略,默认为 .Dq Ar in .Pq Dv C_IN = Ar Internet . 以下的等级是可识别的: .Pp .Bl -tag -width "hinfo T_HINFO " -compact .It Ar in\ \ \ \ \ Dv C_IN Internet等级的域 .It Ar any\ \ \ \ Dv C_ANY 所有/任何等级的信息 .El .Pp (参看RFC 1035以获得完整的列表.) .Pp .Em 注意: .Dq Ar Any 可以用来指定一个 .Em 等级 和/或查询的一种 .Em 类型 . .Ic Dig 会将第一次出现的 .Dq Ar any 解释为 .Ar query-type = Dv T_ANY . 为了指明 .Ar query-class = Dv C_ANY , 你必须或者指定 .Dq any 两次,或者使用 .Fl c 选项(见下面)设置 .Ar query-class . .El .Ss OTHER OPTIONS(其它选项) .Bl -tag -width Fl .It % Ns Ar ignored-comment .Dq % 用来引用一个不用作解释的参数. 如果正以批处理的模式运行 .Ic dig 这可能很有用. 因为不用对一组查询中的每个 .Ar @server-domain-name 进行解析,你就可以避免这样做的额外开销, 并且仍然能够在命令行上以域名作为参数. 例如: .Pp .Bd -ragged -offset indent-two .Ic dig @128.9.0.32 %venera.isi.edu mx isi.edu .Ed .Pp .It Fl Aq Ar dig option .Dq Fl 用来指定一个影响 .Ic dig 操作的选项. 当前可用的选项有(尽管不能保证都有用): .Bl -tag -width Fl .It Fl x Ar dot-notation-address 这是指定反向地址映射的便捷的方法. 不用写 .Dq Ic dig 32.0.9.128.in-addr.arpa , 你可以简单地写成 .Dq Ic dig -x 128.9.0.32 . .It Fl f Ar file .Ic dig 批处理模式的文件.该文件包含了一组查询清单 ( .Ns Ic dig 命令行),它们将一个接一个地执行.以 .Sq \&; , .Sq # 或 .Sq \en 开头的行将忽略.其它选项 仍然可以在命令行上出现,而且对 每个批处理查询都有效. .It Fl T Ar time 当运行于批处理模式下时,两次接着的查询之间的 时间间隔,以秒计. 可以用来保持两个或多个批处理 .Ic dig 命令大致同步运行.默认为零. .It Fl p Ar port 端口号.通过监听非标准端口号来查询 域名服务器.默认为53. .It Fl P Ns Bq Ar ping-string 在查询返回之后,执行一次 .Xr ping 8 命令以获得响应时间的对照关系.这在调用shell上 显得不那么自然. 该命令显示的最后三行统计信息为: .Pp .Bd -ragged -offset indent-two .Ic ping Fl s server_name 56 3 .Ed .Pp 如果可选的 .Dq Ar ping_string 存在,那么 会覆盖shell命令中的 .Dq Ic ping Fl s . .It Fl t Ar query-type 指定查询类型.可以指定为一个将包含在类型字段 中的整数值,也可以使用 上面讨论的缩写助记符(即 .Ar mx = Dv T_MX ) . .It Fl c Ar query-class 指定查询等级.可以指定为一个将包含在等级字段 中的整数值,也可以使用 上面讨论的缩写助记符(即in = C_IN). .It Fl k Ar keydir:keyname 用TSIG密钥指定的的密钥名来签署这次查询, 该密钥名在目录keydir下. .It Fl envsav 该标识指定 .Ic dig 的环境变量 (默认的,显示选项,等等.),在所有参数都解释了之后, 应保存它们到 一个文件中以使之成为默认的环境变量. 如果你不喜欢默认的标准设置而又不想在每次使用 .Ic dig 时带大量的选项,那么这很有用. 环境变量包括解析程序状态变量标识,超时和重试次数 以及详细控制 .Ic dig 输出的标识(见下面). 如果shell环境变量 .Ev LOCALDEF 设置为一个文件的名字,那么此即为默认的 .Ic dig 环境变量所保存的地方.如果没有,那么会在当前 工作目录下创建 .Dq Pa DiG.env . .Pp .Em 注意: .Ev LOCALDEF 是特定针对 .Ic dig 解析程序, 而它不会影响标准解析程序库的操作. .Pp 每当 .Ic dig 执行时,它会查找 .Dq Pa ./DiG.env 或者在shell环境变量 .Ev LOCALDEF 中指定的文件. 如果这样的文件存在而且可读,那么在解释 任何参数之前, 先从 该文件中 恢复环境变量. .It Fl envset 该标识只影响批处理查询的运行.当在 .Ic dig 的批处理文件一行上指定了 .Dq Fl envset 时,在参数之后的 .Ic dig 环境变量会被解释为批处理文件执行期间 默认的环境变量, 或者 直到指定了 .Dq Fl envset 的下一行为止. .It Xo .Fl Op Cm no .Ns cm stick .Xc 该标识只影响批处理查询的运行. 它指定 .Ic dig 环境变量(通过 .Dq Fl envset 开关变量初始化读入或设置)会在 .Ic dig 批处理文件每次查询(行)之前重建. 默认的 .Dq Fl nostick 表示 .Ic dig 环境变量不是固定的,因而在 .Ic dig 批处理文件中单行上指定的选项将对剩余的行 继续产生作用(也即,它们不会恢复成 .Dq sticky(固定的) 默认值). .El .It Ic + Ns Aq Ar query-option .Dq + 用来指定一个在查询信息包中需修改的或者 需用来修改 .Ic dig 输出细节的选项.这些选项中的许多与 .Xr nslookup 8 所承认的参数相同. 如果一个选项需带参数,那么格式如下: .Pp .Bd -ragged -offset indent-two .Ic + .Ns Ar keyword .Ns Op = Ns Ar value .Ed .Pp 绝大多数关键字可简写. .Dq + 选项的解释是非常直白的 \(em 值与它的关键字之间 千万不能用空格分隔. 当前可用的关键字有: .Pp Keyword Abbrev. Meaning [default] .Pp (关键字) (缩写) (含义) [默认值] .Pp .Bl -tag -width "[no]primary (ret) " -compact .It Xo .Op Cm no .Ns Cm debug\ \ \ \ .Pq Cm deb .Xc 打开/关闭调试模式 .Bq Cm deb .It Xo .Op Cm no .Ns Cm d2\ \ \ \ \ \ \ \ \ \ .Xc 打开/关闭特殊的调试模式 .Bq Cm nod2 .It Xo .Op Cm no .Ns Cm recurse\ \ .Pq Cm rec .Xc 使用/不使用递归查询 .Bq Cm rec .It Xo .Cm retry= Ns Ar # .Cm \ \ \ \ \ .Pq Cm ret .Xc 设置重试次数为# .Bq 4 .It Xo .Cm time= Ns Ar # .Cm \ \ \ \ \ \ .Pq Cm ti .Xc 设置超时长度为#秒 .Bq 4 .It Xo .Op Cm no .Ns Cm ko .Xc 保留公开的选项(keep open options)(隐含vc) .Bq Cm noko .It Xo .Op Cm no .Ns Cm vc .Xc 使用/不使用虚拟电路 .Bq Cm novc .It Xo .Op Cm no .Ns Cm defname\ \ .Pq Cm def .Xc 使用/不使用默认的域名 .Bq Cm def .It Xo .Op Cm no .Ns Cm search\ \ \ .Pq Cm sea .Xc 使用/不使用域搜索列表 .Bq Cm sea .It Xo .Cm domain= Ns Ar NAME\ \ .Pq Cm do .Xc 设置默认的域名为 .Ar NAME .It Xo .Op Cm no .Ns Cm ignore\ \ \ .Pq Cm i .Xc 忽略/不忽略截断(trunc.)错误 .Bq Cm noi .It Xo .Op Cm no .Ns Cm primary\ \ .Pq Cm pr .Xc 使用/不使用主服务器 .Bq Cm nopr .It Xo .Op Cm no .Ns Cm aaonly\ \ \ .Pq Cm aa .Xc 表示只包含授权查询的标识 .Bq Cm noaa .It Xo .Op Cm no .Ns Cm cmd .Xc 重复(echo)解释的参数 .Bq Cm cmd .It Xo .Op Cm no .Ns Cm stats\ \ \ \ .Pq Cm st .Xc 显示查询统计信息 .Bq Cm st .It Xo .Op Cm no .Ns Cm Header\ \ \ .Pq Cm H .Xc 显示基本的包头 .Bq Cm H .It Xo .Op Cm no .Ns Cm header\ \ \ .Pq Cm he .Xc 显示包头的标识 .Bq Cm he .It Xo .Op Cm no .Ns Cm ttlid\ \ \ \ .Pq Cm tt .Xc 显示TTLs(Time to Live) .Bq Cm tt .It Xo .Op Cm no .Ns Cm cl .Xc 显示等级信息 .Bq Cm nocl .It Xo .Op Cm no .Ns Cm qr .Xc 显示向外的查询 .Bq Cm noqr .It Xo .Op Cm no .Ns Cm reply\ \ \ \ .Pq Cm rep .Xc 显示响应信息 .Bq Cm rep .It Xo .Op Cm no .Ns Cm ques\ \ \ \ \ .Pq Cm qu .Xc 显示询问部分 .Bq Cm qu .It Xo .Op Cm no .Ns Cm answer\ \ \ .Pq Cm an .Xc 显示应答部分 .Bq Cm an .It Xo .Op Cm no .Ns Cm author\ \ \ .Pq Cm au .Xc 显示授权的部分 .Bq Cm au .It Xo .Op Cm no .Ns Cm addit\ \ \ \ .Pq Cm ad .Xc 显示附加的部分 .Bq Cm ad .It Cm pfdef 设置为默认显示位 .It Cm pfmin 设置为最小的默认显示位 .It Cm pfset= Ns Ar # 设置显示位为# (#可以为十六进制/八进制/十进制) .It Cm pfand= Ns Ar # 位和显示位设为#(bitwise and print flags with #) .It Cm pfor= Ns Ar # 位或显示位设为#(bitwise or print flags with #) .El .Pp 当发送数据报查询时, .Cm retry 和 .Cm time 选项会影响解析程序库的重传策略.其算法如下: .Pp .Bd -literal -offset indent for i = 0 to retry - 1 for j = 1 to num_servers send_query wait((time * (2**i)) / num_servers) end end .Ed .Pp (注意: .Ic dig 通常取 .Dq Li num_servers 的值为1 . ) .El .Ss DETAILS(细节) .Ic Dig 以前要求BIND的 .Xr resolver 3 库的版本作一些细微的修改. 从BIND 4.9起,BIND的解析程序已经修补好 并可以正常地与 .Ic dig 一起工作. 实质上, .Ic dig 在解释参数和设置适合的参数时是 直来直去的 (虽然并不巧妙) .Ic Dig 会用到 .Xr resolver 3 的例程 .Fn res_init , .Fn res_mkquery , .Fn res_send 以及访问 .Ft _res 结构. .Sh ENVIRONMENT(环境变量) .Bl -tag -width "LOCALRES " -compact .It Ev LOCALRES 用来替换Pa /etc/resolv.conf的文件 .It Ev LOCALDEF 默认的环境变量文件 .El .Pp 另见上面对 .Fl envsav , .Fl envset , 和 .Xo .Fl Op Cm no .Ns Cm stick .Xc 选项的说明. .Sh FILES(相关文件) .Bl -tag -width "/etc/resolv.conf " -compact .It Pa /etc/resolv.conf 初始化的域名和域名服务器地址 .It Pa \./DiG.env 默认的保存默认选项的文件 .El .Sh SEE ALSO(另见) .Xr named 8 , .Xr resolver 3 , .Xr resolver 5 , .Xr nslookup 8 . .Sh STANDARDS(标准) RFC 1035. .Sh AUTHOR(作者) Steve Hotz hotz@isi.edu .Sh ACKNOWLEDGMENTS(致谢) .Ic Dig 使用了源自 .Xr nslookup 8 的函数, 其作者为Andrew Cherenson. .Sh BUGS .Ic Dig 是蠕变特色("creeping featurism")的一个 典型实例 -- 这是因在其开发 过程中就考虑到了一些潜在应用而导致的结果. 它可能会从这种严格的限定中受益.同样, 他们设立的显示位以及条目的间隔尺寸 很明显地也是一种十分特别的创意. .Pp 当问题出在解析程序身上时, .Ic Dig 不会总是能够正常地退出(在适合的状况下) .Po Sy 注意: 绝大多数一般的exit情况是能够处理的 .Pc . 当运行于批处理模式下时尤其恼火. 如果不能正常退出(又无法俘获)的话, 那么整个批处理将终止;如果俘获了这样的事件, .Ic dig 就只是继续下一个查询罢了. .Sh [中文版维护人] riser .Sh [中文版最新更新] 2001/7/19 .Sh "《中国Linux论坛man手册页翻译计划》" http://cmpp.linuxforum.net .Sh "跋" .br 本页面中文版由中文 man 手册页计划提供。 .br 中文 man 手册页计划:\fBhttps://github.com/man-pages-zh/manpages-zh\fR