Linux 下的dig 命令详解

在 UNIX 和 Linux 下,建议大家使用 dig 命令来代替 nslookup。 dig 命令的功能比 nslookup 强大很多,不像 nslookkup 还得 set 来 set 去的,怪麻烦的。下面是 dig 的一些比较常用的命令:

# dig 最基本的用法

dig @server qianlong.com

# 用 dig 查看 zone 数据传输

dig @server qianlong.com AXFR

# 用 dig 查看 zone 数据的增量传输

dig @server qianlong.com IXFR=N

# 用 dig 查看反向解析

dig -x 124.42.102.203 @server

# 查找一个域的授权 dns 服务器

dig   qianlong.com +nssearch

# 从根服务器开始追踪一个域名的解析过程

dig   qianlong.com +trace

# 查看您使用的是哪个 F root dns server

dig +norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT

# 查看 bind 的版本号

dig @bind_dns_server CHAOS TXT version.bind

********************************

您能够到 去下载一个 bind for windows 的版本安装,安装后就能够在 windows 上使用 dig 命令了。^O^

ftp://ftp.isc.org/isc/bind/contrib/ntbind-9.3.0/BIND9.3.0.zip

*********************************

用途

DNS 查询实用程式。

语法

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

dig [-h]

dig [global-queryopt...] [query...]

描述

dig(域信息搜索器)命令是个用于询问 DNS 域名服务器的灵活的工具。他执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断,因为他灵活性好、易用、输出清楚。虽然通常情况下 dig 使用命令行参数,但他也能够按批处理模式从文档读取搜索请求。不同于早期版本,dig 的 BIND9 实现允许从命令行发出多个查询。除非被告知请求特定域名服务器,dig 将尝试 /etc/resolv.conf 中列举的任何服务器。当未指定任何命令行参数或选项时,dig 将对“.”(根)执行 NS 查询。

标志

-b address 配置所要询问地址的源 IP 地址。这必须是主机网络接口上的某一合法的地址。

-c class 缺省查询类(IN for internet)由选项 -c 重设。class 能够是任何合法类,比如查询 Hesiod 记录的 HS 类或查询 CHAOSNET 记录的 CH 类。

-f filename 使 dig 在批处理模式下运行,通过从文档 filename 读取一系列搜索请求加以处理。文档包含许多查询;每行一个。文档中的每一项都应该以和使用命令行接口对 dig 的查询相同的方法来组织。

-h 当使用选项 -h 时,显示一个简短的命令行参数和选项摘要。

-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 之后对区域所做的更改。

-x addr 逆向查询(将地址映射到名称)能够通过 -x 选项加以简化。addr 是个以小数点为界的 IPv4 地址或冒号为界的 IPv6 地址。当使用这个选项时,无需提供 name、class 和 type 参数。dig 自动运行类似 11.12.13.10.in-addr.arpa 的域名查询,并分别配置查询类型和类为 PTR 和 IN。

-y name:key 您能够通过命令行上的 -y 选项指定 TSIG 密钥;name 是 TSIG 密码的名称,key 是实际的密码。密码是 64 位加密字符串,通常由 dnssec-keygen(8)生成。当在多用户系统上使用选项 -y 时应该谨慎,因为密码在 ps(1)的输出或 shell 的历史文档中可能是可见的。当同时使用 dig 和 TSCG 认证时,被查询的名称服务器需要知道密码和解码规则。在 BIND 中,通过提供正确的密码和 named.conf 中的服务器声明实现。

参数

global-queryopt... 全局查询选项(请参阅多个查询)。

查询 查询选项(请参阅查询选项)。

查询选项

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28488.html