Linux Dig---DNS lookup utility

dig(域信息搜索器)执行DNS搜索,显示从接受请求的域名服务器返回的答复。多数DNS管理员利用dig作为DNS问题的故障诊断,因为它灵活性好,易用、输出清晰。通常情况下dig使用命令行参数,但它也可以按批处理模式从文件读取搜索请求。不同于早期版本,dig的BIND9实现允许从命令行发出多个查询,除非被告知请求特定域名服务器,dig将尝试/etc/resolv.conf中列举的所有服务器。当未指定任何命令行参数或选项时,dig将对 . 执行NS查询。
可以通过 ${HOME}/.digrc 为每个用户设置默认值。读取该文件,并在命令行参数之前应用其中的任何选项。IN和CH类名与IN和CH顶级域名重叠。使用-t和-c选项指定类型和类,使用-q指定域名,或者在查找这些顶级域名时使用“IN.”和“CH.”。

语法

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

常用命令选项

安装:yum install bind-utils

-b address	设置所要询问地址的源IP地址。这必须是主机网络接口上的某一合法的地址。使用指定的本机 IP 地址向域名服务器发送域名查询请求。
-c class	缺省查询类(IN for internet),由选项-c重设。class可以是任何合法类,比如查询Hesiod记录的HS类或查询CHAOSNET记录的CH类;
-f filename	使dig在批处理模式下运行,通过从文件filename读取一系列搜索请求加以处理。文件包含许多查询,每行一个。文件中的每一项都应该和使用命令行接口对dig查询相同的方法来组织;
-h			显示一个简短的命令行参数和选项摘要;
-m			打开内存使用情况调试开关;
-k filename	要签署由dig发送的DNS查询以及对他们使用事物签名(TSIG)的响应,用选项-K指定TSIG密钥文件;
-n 			缺省情况下,使用 IP6.ARPA 域和 RFC2874 定义的二进制标号搜索 IPv6 地址。为了使用更早的、使用 IP6.INT 域和 nibble 标签的 RFC1886 方法,指定选项 -n(nibble)。
-p port		如果需要查询一个非标准的端口号,则使用选项-p。port是dig将发送其查询的端口号,而不是标准的DNS端口号53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器;
-t type	   设置查询的类型为type。可以是BIND9支持的任意有效查询类型。缺省查询类型是A,除非提供-x选项来指示一个逆向查询。通过指定AXFR的type可以请求一个区域传输。当需要增量区域传输(IXFR)时,type设置为ixfr=N,增量区域传输将包含自从区域的SOA记录中的序列号改为N之后对区域所做的更改
-q 			将查询名称设置为name。这有助于区分名称与其他参数
-x addr 	逆向查询(将地址映射到名称)
-y name:key	您能够通过命令行上的 -y 选项指定 TSIG 密钥;name 是 TSIG 密码的名称,key 是实际的密码。密码是 64 位加密字符串,通常由 dnssec-keygen生成。当在多用户系统上使用选项 -y 时应该谨慎,因为密码在 ps 的输出或 Shell 的历史文档中可能是可见的。当同时使用 dig 和 TSCG 认证时,被查询的名称服务器需要知道密码和解码规则。在 BIND 中,通过提供正确的密码和 named.conf 中的服务器声明实现。

举例

dig [@server] name type

其中 server 是域名服务器的名称或 IP 地址。这可以是以点分十进制表示的 IPv4 地址,也可以是以冒号分隔的 IPv6 地址。当提供的服务器参数是主机名时,dig 会在查询该域名服务器之前解析该名称。
♢ 如果未提供 server 参数,dig 会查找 /etc/resolv.conf;如果在那里找到一个地址,它将查询该地址的名称服务器。如果使用了 -4 或 -6 选项,则只尝试相应传输的地址。如果没有找到可用的地址,dig 将向本地主机发送查询。将显示来自名称服务器的响应。
♢ name 为要查找的资源记录的名称。
♢ type 指示所需的查询类型 ANY、A、MX、SIG 等。类型可以是任何有效的查询类型。如果没有提供类型参数,dig 将查找 A 记录。

查询选项

dig 提供查询选项号,他影响搜索方式和结果显示。一些在查询请求报头配置或复位标志位,一部分决定显示哪些回复信息,其他的确定超时和重试策略。每个查询选项被带前缀(+)的关键字标识。一些关键字配置或复位一个选项。通常前缀是求反关键字含义的字符串 no。其他关键字分配各选项的值,比如超时时间间隔。他们的格式形如 +keyword=value。查询选项是:

+[no]tcp
    查询域名服务器时使用 [不使用] TCP。缺省行为是使用 UDP,除非是 AXFR 或 IXFR 请求,才使用 TCP 连接。
+[no]vc
    查询名称服务器时使用 [不使用] TCP。+[no]tcp 的备用语法提供了向下兼容。 vc 代表虚电路。
+[no]ignore
    忽略 UDP 响应的中断,而不是用 TCP 重试。缺省情况运行 TCP 重试。
+domain=somename
    设定包含单个域 somename 的搜索列表,似乎被 /etc/resolv.conf 中的域伪指令指定,并且启用搜索列表处理,似乎给定了 +search 选项。
+[no]search
    使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(假如有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]defname
    不建议看作 +[no]search 的同义词。
+[no]aaonly
    该选项不做任何事。他用来提供对配置成未实现解析器标志的 dig 的旧版本的兼容性。
+[no]adflag
    在查询中配置 [不配置] AD(真实数据)位。现在 AD 位只在响应中有标准含义,而查询中没有,但是出于完整性考虑在查询中这种性能能够配置。
+[no]cdflag
    在查询中配置 [不配置] CD(检查禁用)位。他请求服务器不运行响应信息的 DNSSEC 合法性。
+[no]recursive
    转换查询中的 RD(需要递归)位配置。在缺省情况下配置该位,也就是说 dig 正常情形下发送递归查询。当使用查询选项 +nssearch 或 +trace 时,递归自动禁用。
+[no]nssearch
    这个选项被配置时,dig 试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的 SOA 记录。
+[no]trace
    转换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。他将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]cmd
    设定在输出中显示指出 dig 版本及其所用的查询选项的初始注释。缺省情况下显示注释。
+[no]short
    提供简要答复。缺省值是以冗长格式显示答复信息。
+[no]identify
   当启用 +short 选项时,显示 [或不显示] 提供给答的 IP 地址和端口号。假如请求简短格式应答,缺省情况不显示提供给答的服务器的源地址和端口号。
+[no]comments
    转换输出中的注释行显示。缺省值是显示注释。
+[no]stats
    该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
+[no]qr
    显示 [不显示] 发送的查询请求。缺省不显示。
+[no]question
    当返回应答时,显示 [不显示] 查询请求的问题部分。缺省作为注释显示问题部分。
+[no]answer
    显示 [不显示] 应答的回答部分。缺省显示。
+[no]authority
    显示 [不显示] 应答的权限部分。缺省显示。
+[no]additional
    显示 [不显示] 应答的附加部分。缺省显示。
+[no]all
    配置或清除任何显示标志。
+time=T
    为查询配置超时时间为 T 秒。缺省是5秒。假如将 T 配置为小于1的数,则以1秒作为查询超时时间。
+tries=A
    配置向服务器发送 UDP 查询请求的重试次数为 A,代替缺省的 3 次。假如把 A 小于或等于 0,则采用 1 为重试次数。
+ndots=D
    出于完全考虑,配置必须出现在名称 D 的点数。缺省值是使用在 /etc/resolv.conf 中的 ndots 语句定义的,或是 1,假如没有 ndots 语句的话。带更少点数的名称被解释为相对名称,并通过搜索列表中的域或文档 /etc/resolv.conf 中的域伪指令进行搜索。
+bufsize=B
    配置使用 EDNS0 的 UDP 消息缓冲区大小为 B 字节。缓冲区的最大值和最小值分别为 655350。超出这个范围的值自动舍入到最近的有效值。
+[no]multiline
    以周详的多行格式显示类似 SOA 的记录,并附带可读注释。缺省值是每单个行上显示一条记录,以便于电脑解析 dig 的输出。

多条查询

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的任意查询、一个 127.0.0.1 的逆向查询,连同一个 isc.org 的 NS 记录查询。应用了 +qr 的全局查询选项,以便 dig 显示进行每条查询的初始查询。最后那个查询有一个本地查询选项 +noqr,表示 dig 在搜索 isc.org 的 NS 记录时不显示初始查询。

Life is not a road in vain, every step counts.

猜你喜欢

转载自blog.csdn.net/qq_50573146/article/details/128277430
今日推荐