跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11.1 Information Library (简体中文) |
- DNS 查找实用程序
dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt]...
dig [-h]
dig [global-queryopt...] [query...]
dig 实用程序(域信息探测器)是一种灵活的工具,用于查询 DNS 名称服务器。它可以执行 DNS 查找,并显示从查询的名称服务器返回的答案。由于该实用程序灵活、易用并且输出明确,因此大多数 DNS 管理员都使用 dig 来解决 DNS 问题。其他查找工具的功能通常比 dig 少。
虽然 dig 通常与命令行参数一起使用,但它还具有从文件中读取查找请求的批处理操作模式。如果指定了 -h 选项,将输出该实用程序的命令行参数以及选项的概述。与早期版本不同,dig 的 BIND 9 实现允许从命令行发出多个查找。
除非收到查询特定名称服务器的指令,否则 dig 会尝试查询 /etc/resolv.conf 中列出的每个服务器。
如果未指定任何命令行参数或选项,dig 会执行“.”(根)的 NS 查询。
可以使用 ${HOME}/.digrc 为 dig 设置每用户缺省值。系统会读取此文件,且在命令行参数之前应用其中的任何选项。
IN 和 CH 类名与 IN 和 CH 顶级域名重叠。因此,可 -t 和 -c 选项来指定类型和类,或使用 "IN." 和 "CH."查找这些顶级域。
下面是 dig 的典型调用:
dig @server name type
其中:
要查询的名称服务器的名称或 IP 地址。可以是采用点分十进制记法的 IPv4 地址或采用冒号分隔记法的 IPv6 地址。如果提供的 server 参数为主机名,dig 会在查询该名称服务器之前解析该名称。如果未提供 server 参数,dig 会查找 /etc/resolv.conf 并查询其中列出的名称服务器。将会显示来自做出响应的名称服务器的回复。
要查找的资源记录的名称。
指示所需的查询类型(ANY、A、MX、SIG 等)。type 可以是任何有效的查询类型。如果未提供 type 参数,dig 会执行 A 记录查找。
支持以下选项:
仅使用 IPv4 传输。缺省情况下,IPv4 和 IPv6 传输均可使用。选项 -4 和 -6 互斥。
仅使用 IPv6 传输。缺省情况下,IPv4 和 IPv6 传输均可使用。选项 -4 和 -6 互斥。
将查询的源 IP 地址设置为 address。该地址必须是主机的网络接口之一上的有效地址、0.0.0.0 或 ::。通过附加 #<port> 可以指定可选端口。
覆盖缺省的查询类(IN 表示 Internet)。class 参数可以是任何有效类,例如,HS 表示 Hesiod 记录,CH 表示 CHAOSNET 记录。
通过从文件 filename 中读取要处理的查找请求列表,以批处理模式运行。此文件包含多个查询(每行一个)。文件中每个项的组织方式应与使用命令行界面查询 dig 时显示的方式相同。
输出命令行参数与选项的概述。
指定事务签名 (TSIG) 密钥文件以使用 TSIG 签署由 dig 发送的 DNS 查询及其响应。
启用内存使用情况调试。
查询非标准端口号。port# 参数是 dig 发送其查询所用的端口号,而不是标准 DNS 端口号 53。此选项会测试配置为侦听非标准端口号上的查询的名称服务器。
将查询名称设置为 name。这样可以轻松将查询名称与其他参数区分开来。
将查询类型设置为 type,可以是 BIND9 中支持的任意有效查询类型。缺省的查询类型为“A”,除非提供了 -x 选项以指示反向查找。通过指定 AXFR 类型可请求区域传输。需要进行增量区域传输 (IXFR) 时,将 type 设置为 ixfr=N。由于区域的 SOA 记录中的序列号为 N,增量区域传输将包含对该区域所做的更改。
简化反向查找(将地址映射至名称)。addr 参数是采用点分十进制记法的 IPv4 地址或采用冒号分隔记法的 IPv6 地址。如果使用此选项,则无需提供 name、class 和 type 参数。dig 实用程序会自动执行名称查找,例如 11.12.13.10.in-addr.arpa,并将查询类型和类分别设置为 PTR 和 IN。缺省情况下,在 IP6.ARPA 域下使用半字节格式查找 IPv6 地址。要使用采用 IP6.INT 域的早期 RFC1886 方法,请指定 -i 选项。位字符串标签 (RFC 2874) 目前处于试验阶段,不会尝试使用。
在命令行上指定一个事务签名 (TSIG) 密钥。这样可以签署 dig 发送的 DNS 查询及其响应。您还可以在命令行上使用 -y 选项指定 TSIG 密钥本身。可选的 hmac 是 TSIG 的类型;缺省值为 HMAC-MD5。name 参数是 TSIG 密钥的名称,key 参数是实际密钥。此密钥为 base-64 编码字符串,通常由 dnssec-keygen(1M) 生成。
在多用户系统上使用 -y 选项时应谨慎,因为该密钥会显示在来自 ps(1) 的输出中或 shell 的历史文件中。将 TSIG 验证与 dig 结合使用时,所查询的名称服务器需要知道正在使用的密钥和算法。在 BIND 中,这一点可通过在 named.conf 中提供适当的 key 和 server 语句实现。
dig 实用程序提供了一些会影响查找实施以及显示结果的方式的查询选项。其中的一些选项用于设置或复位查询标头中的标志位,一些选项用于确定输出答案的哪些部分,其他选项用于确定超时和重试策略。
每个查询选项都通过一个带加号 (+) 前缀的关键字标识。一些关键字可设置或复位选项。这些关键字可能会具有 no 字符串前缀,以否定该关键字的含义。其他关键字用于分配选项的值,例如超时时间间隔。这些关键字的格式为 +keyword=value。查询选项包括:
查询名称服务器时使用 [不使用] TCP。缺省的行为是使用 UDP,除非请求了 AXFR 或 IXFR 查询,在这种情况下将使用 TCP 连接。
查询名称服务器时使用 [不使用] TCP。这是 +[no]tcp 的另一种等效语法,之所以提供此语法是为了实现向后兼容性。“vc”表示 virtual circuit(虚拟线路)。
忽略 UDP 响应中的截断,而不是使用 TCP 重试。缺省情况下,执行 TCP 重试。
设置搜索列表,使其包含单个域 somename,如同在 /etc/resolv.conf 的 domain 指令中指定一样,并且启用搜索列表处理,如同指定了 +search 选项一样。
使用 [不使用] resolv.conf(如果有)中的 searchlist 或 domain 指令定义的搜索列表。缺省情况下,不使用此搜索列表。
执行 [不执行] 显示中间结果的搜索。
已过时,视为 +[no]search 的同义语法。
设置查询中的 aa 标志。
+[no]aaonly 的同义语法。
设置 [不设置] 查询中的 AD(authentic data,可信数据)位。这要求服务器返回值,无论是否根据服务器的安全策略将所有答案和授权部分均验证为安全。设置为 AD=1 指示所有记录都已验证为安全,而且答案不是来自 OPT-OUT 范围。AD=0 指示答案的某些部分不安全或未经验证。
设置 [不设置] 查询中的 CD(checking disabled,禁用检查)位。这要求服务器不对响应执行 DNSSEC 验证。
输出记录时显示 [不显示] 类。
输出记录时显示 [不显示] TTL。
切换查询中 RD(recursion desired,需要递归)位的设置。缺省情况下会设置此位,这意味着 dig 通常会发送递归查询。使用 +nssearch 或 +trace 查询选项时,会自动禁用递归。
设置此选项时,dig 会尝试查找区域的包含待查找名称的权威名称服务器,并显示每台名称服务器中对应于该区域的 SOA 记录。
对要查找的名称,从根名称服务器切换委托路径跟踪。缺省情况下,禁用跟踪。启用跟踪时,dig 会执行迭代查询以解析要查找的名称。将按照来自根服务器的引用,显示来自每个服务器的用于解析查找的答案。
切换是否在输出中显示标识 dig 的版本以及所应用的查询选项的初始注释。缺省情况下,输出此注释。
提供扼要答案。缺省情况下,以详细模式输出答案。
启用 +short 选项时,显示 [或不显示] 提供答案的 IP 地址和端口号。如果要求提供简洁格式的答案,缺省情况下,不显示提供答案的服务器的源地址和端口号。
切换输出中注释行的显示。缺省情况下显示注释。
切换统计信息的输出:执行查询的时间、回复大小等。缺省行为是输出查询统计信息。
发送时输出 [不输出] 查询。缺省情况下不输出查询。
返回答案时输出 [不输出] 查询的问题部分。缺省情况下,以注释形式输出问题部分。
显示 [不显示] 回复的答案部分。缺省情况下显示该部分。
显示 [不显示] 回复的授权部分。缺省情况下显示该部分。
显示 [不显示] 回复的附加部分。缺省情况下显示该部分。
设置或清除所有显示标志。
将查询的超时时间设置为 T 秒。缺省超时时间为 5 秒。尝试将 T 设置为小于 1 的值将会应用 1 秒的查询超时。
将 UDP 尝试的最大次数设置为 T。缺省值为 3(1 次初始尝试以及随后 2 次重试)。如果 T 小于等于 0,会将重试次数向上舍入为 1 次而不显示相关提示。
将 UDP 重试次数设置为 T。缺省 为 2。
将需要显示在 name 中的点数设置为 D,以便将其视为绝对名。缺省值是使用 /etc/resolv.conf 中的 ndots 语句定义的值,如果 ndots 语句不存在,则缺省值为 1。点数较少的名称将解释为相对名称,并在 /etc/resolv.conf 中的 search 或 domain 指令中列出的域中进行搜索。
将使用 EDNS0 通告的 UDP 消息缓冲区大小设置为 B 字节。此缓冲区的最大和最小大小分别为 65535 和 0 字节。超出此范围的值将相应地进行向上或向下舍入。
指定用于查询的 EDNS 版本。有效值为 0 至 255。设置 EDNS 版本会导致发送一条 EDNS 查询。+noedns 将清除记住的 EDNS 版本。
以详细的多行格式输出包含用户可读注释的记录,例如 SOA 记录。缺省情况下,每行输出一条记录,以便于计算机解析 dig 输出。
如果收到 SERVFAIL,请勿尝试下一个服务器。缺省情况下,不会尝试下一个服务器,这与常规的桩模块解析器行为相反。
尝试显示格式错误的消息的内容。缺省情况下,不显示格式错误的答案。
通过在查询的附加部分的 OPT 记录中设置 DNSSEC OK 位 (DO),请求发送 DNSSEC 记录。
追踪 DNSSEC 签名链。需要使用 -DDIG_SIGCHASE 来编译 dig。
指定包含与 +sigchase 结合使用的可信密钥的文件。每条 DNSKEY 记录必须占据一行。
如果未指定,dig 会查找 /etc/trusted-key.key,然后在当前目录中查找 trusted-key.key。
需要使用 -DDIG_SIGCHASE 来编译 dig。
追踪 DNSSEC 签名链时,执行自上而下的验证。需要使用 -DDIG_SIGCHASE 来编译 dig。
发送查询时,包括 EDNS 名称服务器 ID 请求。
除了支持 -f 批处理文件选项以外,dig 的 BIND 9 实现还支持在命令行上指定多个查询。对于每条查询,可提供其自己的标志、选项以及查询选项集。
这种情况下,在上述命令行语法中,每个 query 参数表示一条查询。每条查询由任一标准选项和标志、要查找的名称、可选的查询类型、类以及应当应用于该查询的任意查询选项组成。
还可以提供应当应用于所有查询的全局查询选项集。这些全局查询选项必须居于命令行上提供的第一组名称、类、类型、选项、标志和查询选项之前。任何全局查询选项(+[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 记录时不会输出初始查询。
解析器配置文件
用户定义的配置文件
有关下列属性的说明,请参见 attributes(5):
|
dnssec-keygen(1M)、host(1M)、named(1M)、nslookup(1M)、attributes(5)
RFC1035
请参见《BIND 9 管理员参考手册》。从本手册页发布之日起,将在 https://www.isc.org/software/bind/documentation 上提供该文档。
查询选项可能过多。
nslookup(1M) 和 dig 目前将“Not Implemented”(未实施)报告为 NOTIMP 而不是 NOTIMPL。这会影响查找 NOTIMPL 的脚本。