Dig - Linux命令 - UNIX命令

名称

挖 - DNS查找工具

概要

dig [ @ server ] [ -b address ] [ -c class ] [ -f filename ] [ -k filename ] [ -p port# ] [ -t type ] [ -x addr ] [ -y name:key ] [ name ] [ type ] [ class ] [ queryopt ... ]

[ -h ]

dig [ global-queryopt ... ] [ 查询 ... ]

描述

dig (域信息探查器)是一种查询DNS名称服务器的灵活工具。 它执行DNS查找并显示从查询的名称服务器返回的答案。 大多数DNS管理员使用dig来解决DNS问题,因为它的灵活性,易用性和输出的清晰度。 其他查找工具往往比挖掘功能少。

尽管dig通常与命令行参数一起使用,但它也具有用于读取来自文件的查找请求的批处理操作模式。 当给出-h选项时,会打印其命令行参数和选项的简短摘要。 与早期版本不同, dig的BIND9实现允许从命令行发出多个查找。

除非告知查询特定的名称服务器,否则dig会尝试/etc/resolv.conf中列出的每个服务器。

当没有给出命令行参数或选项时,将执行NS查询“”。 (根)。

简单的用法

典型的挖掘调用如下所示:

挖@ 服务器名称类型

哪里:

服务器

是要查询的名称服务器的名称或IP地址 。 这可以是以点分十进制表示形式的IPv4地址,也可以是以冒号分隔符表示的IPv6地址。 当提供的服务器参数是主机名时, dig会在查询该名称服务器之前解析该名称。 如果没有提供服务器参数,请咨询/etc/resolv.conf并查询其中列出的名称服务器。 显示响应的名称服务器的回复。

名称

是要查找的资源记录的名称。

类型

表明需要什么类型的查询--- ANY,A,MX,SIG等类型可以是任何有效的查询类型。 如果没有提供类型参数, dig会执行A记录的查找。

OPTIONS

-b选项设置要查询的查询的源IP 地址 。 这必须是其中一个主机网络接口上的有效地址。

默认查询类(因特网IN)由-c选项覆盖。 是任何有效的类,例如Hesiod记录的HS或CHAOSNET记录的CH。

-f选项使dig在批处理模式下运行,方法是读取要从文件filename处理的查找请求列表。 该文件包含许多查询,每行一个。 文件中的每个条目应该按照与使用命令行界面进行挖掘的查询相同的方式进行组织。

如果要查询非标准端口号,则使用-p选项。 port#dig发送其查询的端口号,而不是标准的DNS端口号53.该选项将用于测试已配置为侦听非标准端口号上的查询的名称服务器。

-t选项将查询类型设置为键入 。 它可以是BIND9支持的任何有效查询类型。 默认查询类型“A”,除非提供-x选项来指示反向查找。 可以通过指定AXFR类型来请求区域传输。 当需要增量区域传输(IXFR)时, 类型设置为ixfr = N。 增量区域传输将包含对该区域所做的更改,因为该区域的SOA记录中的序列号为N。

反向查找 - 将地址映射到名称 - 由-x选项简化。 addr是以点分十进制形式表示的IPv4地址,或冒号分隔的IPv6地址。 使用此选项时,不需要提供名称类型参数。 dig会自动执行一个像11.12.13.10.in-addr.arpa这样的名称的查找,并将查询类型和类别分别设置为PTR和IN。 默认情况下,使用RFC2874中定义的IP6.ARPA域和二进制标签查找IPv6地址。 要使用使用IP6.INT域和“半字节”标签的旧RFC1886方法,请指定-n (半字节)选项。

要使用事务签名(TSIG)签署由dig发送的DNS查询及其响应,请使用-k选项指定TSIG密钥文件。 您还可以使用-y选项在命令行上指定TSIG密钥本身; 名称是TSIG密钥的名称, 密钥是实际的密钥。 密钥是一个base-64编码的字符串,通常由dnssec-keygen (8)生成。 在多用户系统上使用-y选项时应该谨慎,因为密钥可以在ps (1)的输出中或shell的历史记录文件中可见。 在dig使用TSIG验证时,被查询的名称服务器需要知道正在使用的密钥和算法。 在BIND中,这是通过在named.conf中提供适当的密钥服务器语句来完成的。

查询选项

dig提供了许多查询选项,这些选项会影响查找和显示结果的方式。 其中一些设置或重置查询标题中的标志位,一些确定打印哪些部分的答案,另一些确定超时和重试策略。

每个查询选项都由一个以加号(+)开头的关键字标识。 某些关键字设置或重置选项。 这些可能会在字符串前加上否定该关键字的含义。 其他关键字将值分配给选项,如超时间隔。 他们有+ keyword = value的形式。 查询选项是:

+ [无] TCP

在查询名称服务器时使用[不要使用] TCP。 默认行为是使用UDP,除非请求AXFR或IXFR查询,在这种情况下使用TCP连接。

+ [无] VC

在查询名称服务器时使用[不要使用] TCP。 提供+ [no] tcp的备用语法用于向后兼容。 “vc”代表“虚拟电路”。

+ [无]忽略

忽略UDP响应中的截断,而不是使用TCP重试。 默认情况下,将执行TCP重试。

+域= somename

将搜索列表设置为包含单个域somename ,就好像在/etc/resolv.conf中的指令中指定的那样,并且启用搜索列表处理就好像给出了+搜索选项一样。

+ [无]的搜索

使用[不要使用] resolv.conf中搜索列表或域指令定义的搜索列表(如果有)。 搜索列表默认情况下不使用。

+ [无]值defname

已弃用,作为+ [no]搜索的同义词处理

+ [无] aaonly

这个选项什么都不做。 它提供与旧版本的dig的兼容性,它设置了未实现的解析器标志。

+ [无] adflag

在查询中设置[不要设置] AD(真实数据)位。 AD位当前仅在响应中具有标准含义,而不是在查询中,但为了完整性提供了在查询中设置位的能力。

+ [无] cdflag

在查询中设置[不设置] CD(禁用检查)位。 这会要求服务器不执行对响应的DNSSEC验证。

+ [无]递归

在查询中切换RD(递归所需)位的设置。 这个位默认设置,这意味着dig通常会发送递归查询。 当使用+ nssearch+跟踪查询选项时,递归会自动禁用。

+ [无] nssearch

设置此选项时, dig会尝试为包含要查找的名称的区域查找授权名称服务器,并显示每个名称服务器对该区域具有的SOA记录。

+ [无]迹

从名称服务器中切换对正在查找的名称的委派路径的跟踪。 跟踪默认情况下被禁用。 启用跟踪时, dig会进行迭代查询以解析查找的名称。 它将遵循来自根服务器的引用,显示用于解析查找的每个服务器的答案。

+ [无] CMD

切换在输出中初始注释的打印,标识dig的版本和已经应用的查询选项。 此评论默认打印。

+ [无]短

提供一个简洁的答案。 默认设置是以详细的形式打印答案。

+ [无]标识

在启用+ short选项时,显示[或不显示]提供答案的IP地址和端口号。 如果请求了简短的答案,则默认不显示提供答案的服务器的源地址和端口号。

+ [无]的评论

切换输出中注释行的显示。 默认是打印评论。

+ [无]的统计

此查询选项切换打印统计信息:查询完成后,回复的大小等。 默认行为是打印查询统计信息。

+ [无] QR

打印[不打印]发送的查询。 默认情况下,不打印查询。

+ [无]的问题

当返回答案时,打印[不打印]查询的问题部分。 缺省是将问题部分打印为注释。

+ [无]的答案

显示[不显示]答复的答案部分。 默认是显示它。

+ [无]权威

显示[不显示]回复的权限部分。 默认是显示它。

+ [无]的附加

显示[不显示]回复的附加部分。 默认是显示它。

+ [无]的所有

设置或清除所有显示标志。

+时间= T

将查询超时设置为T秒。 默认超时是5秒。 尝试将T设置为小于1将导致应用1秒的查询超时。

+尝试= T

将重试UDP查询的次数设置为T而不是默认值3.如果T小于或等于零,重试次数将自动四舍五入为1。

+的ndots = d

名称中必须出现的点数设置为D,以使其被视为绝对点。 缺省值是使用/etc/resolv.conf中的ndots语句定义的值,如果没有ndots语句存在,则缺省值为1。 具有较少点的名称将被解释为相对名称,并将在/etc/resolv.conf搜索指令中列出的域中进行搜索

+ BUFSIZE = B

将使用EDNS0发布的UDP消息缓冲区大小设置为B字节。 该缓冲区的最大和最小尺寸分别为65535和0。 超出此范围的值会适当地向上或向下取整。

+ [无]多

以冗长的多行格式打印记录,如SOA记录,并带有可读的评论。 默认设置是在单行上打印每条记录,以便于机器分析挖掘输出。

+ [无]失败

如果您收到SERVFAIL,请不要尝试下一台服务器。 缺省情况是不尝试与正常存根解析器行为相反的下一个服务器。

+ [无] besteffort

尝试显示格式错误的邮件内容。 默认是不显示格式错误的答案。

+ [无] DNSSEC

请求通过在查询的附加部分的OPT记录中设置DNSSEC OK位(DO)来发送DNSSEC记录。

多个查询

dig的BIND 9实现支持在命令行上指定多个查询(除了支持-f批处理文件选项外)。 每个查询都可以提供自己的一组标志,选项和查询选项。

在这种情况下,每个查询参数表示上述命令行语法中的单个查询。 每一个都包含任何标准选项和标志,要查找的名称,可选的查询类型和类以及应该应用于该查询的任何查询选项。

还可以提供全局查询选项集,这些选项应该适用于所有查询。 这些全局查询选项必须位于命令行上提供的名称,类,类型,选项,标志和查询选项的第一个元组之前。 任何全局查询选项(除了+ [no] cmd选项)都可以被特定于查询的一组查询选项覆盖。 例如:

dig + qr www.isc.org any -x 127.0.0.1 isc.org ns + noqr

展示了如何从命令行使用dig进行三次查找:www.isc.org的ANY查询,127.0.0.1的反向查询和isc.org的NS记录查询。 应用了全局查询选项+ qr ,以便dig显示它为每个查找所做的初始查询。 最后一个查询有一个本地查询选项+ noqr ,这意味着dig查找isc.org的NS记录时不会打印初始查询。

也可以看看

host 1),命名为(8), dnssec-keygen (8), RFC1035

重要提示:使用man 命令%man )查看特定计算机上的命令使用方式。

相关文章