dig-nslookup命令详解

dig-nslookup 命令使用详解dig 命令描述dig (域信息搜索器)命令是DNS 查询实用程序,一个用于询问 DNS 域名服务器的灵活工具。它执行 DNS 搜索,显示从受请求的域名服务器返回

dig-nslookup 命令使用详解

dig 命令

描述

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

语法

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...]

各参数的含义

-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 ... 全局查询选项

query 查询选项

查询选项

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 字节。缓冲区的最大值和最小值分别为 65535 和 0。超出这个范围的值自动舍入到最近的有效值。

[no]multiline 以详细的多行格式显示类似 SOA 的记录,并附带可读注释。缺省值是每单个行上显示一条记录,以便于计算机解

析dig 的输出。

多条查询

dig 的 BIND9 支持在命令行上指定多个查询(支持 -f 批处理文件选项的附加功能)。每条查询可以使用自己的标志位、选项和查询选项。在这种情况下,在上面描述的命令行语法中,每条查询自变量代表一个个别查询。每一条由任意标准选项和标志、待查询名称、可选查询类型和类以及任何适用于该查询的查询选项。也可以使用对所有查询均有效的查询选项全局集合。全局查询选项必须位于命令行上第一个名称、类、类型、选项、标志和查询选项的元组之前。任何全局查询选项(除了 [no]cmd 选项)可以被下面的查询特别选项重设。例如:

显 示 dig 如何从命令行出发进行三个查询:一个针对 www.isc.org 的任意查询、一个 127.0.0.1 的逆向查询,以及一个 isc.org 的 NS 记录查询。应用了 qr 的全局查询选项,以便 dig 显示进行每条查询的初始查询。最后那个查询有一个本地查询选项 noqr,表示 dig 在搜索 isc.org 的 NS 记录时不显示初始查询。

示例

一个典型的 dig 调用类似:

,

dig @server name type

其中:

server

待查询名称服务器的名称或 IP 地址。可以是用点分隔的 IPv4 地址或用冒号分隔的 IPv6 地址。当由主机提供服务器参数时,dig 在查询域名服务器前先解析那个名称。如果没有服务器参数可以提供,dig 参考/etc/resolv.conf,然后查询列举在那里的域名服务器。显示来自域名服务器的应答。

name

将要查询的资源记录的名称。

type

显示所需的查询类型 - ANY、A 、MX 、SIG ,以及任何有效查询类型等。如果不提供任何类型参数,dig 将对纪录A 执行查询。

dig 常用命令

dig 最基本的用法:dig @server sina.com.cn.

用dig 查看 zone 数据传输:dig @server zx.xmgd.com. AXFR

用dig 查看 zone 数据的增量传输:dig @server zx.xmgd.com. IXFR=N 用dig 查看反向解析:dig -x 210.52.83.228 @server

查找一个域的授权 dns 服务器:dig xmgd.com. nssearch

从根服务器开始追踪一个域名的解析过程:dig xmgd.com trace

查看 bind 的版本号:dig @bind_dns_server CHAOS TXT version.bind 查看你使用的是哪个 F root dns server:

dig norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT 示例:

C:dig>dig @202.99.224.8 www.12530.com

,

; <<>> DiG 9.3.2 <<>> @202.99.224.8 www.12530.com

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 779

;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 8, ADDITIONAL: 8 ;; QUESTION SECTION:

;www.12530.com. IN A

;; ANSWER SECTION:

www.12530.com. 1702 IN CNAME

cdn.12530.chinacache.net.

cdn.12530.chinacache.net. 1801 IN CNAME

cdn.12530.cncssr.chinacache.n

cdn.12530.cncssr.chinacache.net. 1801 IN CNAME

cc00021.h.cncssr.chinacache.n

cc00021.h.cncssr.chinacache.net. 49 IN A 125.39.39.116 cc00021.h.cncssr.chinacache.net. 49 IN A 125.39.39.58 ;; AUTHORITY SECTION:

cncssr.chinacache.net. 18 IN NS

ns6.cncssr.chinacache.net.

cncssr.chinacache.net. 18 IN NS

ns5.cncssr.chinacache.net.

cncssr.chinacache.net. 18 IN NS

ns8.cncssr.chinacache.net.

,

cncssr.chinacache.net. 18 IN NS ns1.cncssr.chinacache.net.

cncssr.chinacache.net. 18 IN NS ns2.cncssr.chinacache.net.

cncssr.chinacache.net. 18 IN NS ns3.cncssr.chinacache.net.

cncssr.chinacache.net. 18 IN NS ns4.cncssr.chinacache.net.

cncssr.chinacache.net. 18 IN NS ns7.cncssr.chinacache.net.

;; ADDITIONAL SECTION:

ns1.cncssr.chinacache.net. 15 IN A ns2.cncssr.chinacache.net. 14 IN A ns3.cncssr.chinacache.net. 14 IN A ns4.cncssr.chinacache.net. 14 IN A ns5.cncssr.chinacache.net. 15 IN A ns6.cncssr.chinacache.net. 14 IN A ns7.cncssr.chinacache.net. 14 IN A ns8.cncssr.chinacache.net. 15 IN A ;; Query time: 203 msec

;; SERVER: 202.99.224.8#53(202.99.224.8) ;; WHEN: Mon Apr 12 10:36:34 2010

;; MSG SIZE rcvd: 428

C:dig>nslookup -qt=ns 12530.com

Server: linedns.bta.net.cn 202.108.251.105 60.217.232.123 60.217.232.122 60.217.241.236 202.108.251.162 222.138.229.238 61.163.30.226 218.8.55.130

,

Address: 202.106.196.115

Non-authoritative answer:

12530.com nameserver = ns1.12530.com

12530.com nameserver = ns2.12530.com

12530.com nameserver = ns.12530.com

NSLOOKUP 命令

C:dig>nslookup 12530.com

Server: nmgdnsser8

Address: 202.99.224.8

Non-authoritative answer:

Name: 12530.com

Address: 218.205.239.16

C:dig>nslookup -qt=nx 12530.com

unknown query type: nx

Server: linedns.bta.net.cn

Address: 202.106.196.115

Non-authoritative answer:

Name: 12530.com

Address: 218.205.239.16

nslookup [-qt=类型] 目标域名 指定的DNS 服务器IP 或域名 C:dig>nslookup -qt=nx 12530.com 202.99.224.8

unknown query type: nx

Server: nmgdnsser8

,

Address: 202.99.224.8

Non-authoritative answer:

Name: 12530.com

Address: 218.205.239.16

检查域名的缓存时间需要我们使用一个新的参数:-d

格式如下:

nslookup –d [其他的参数] 目标域名 [指定的服务器地址] C:dig>nslookup -d 202.99.224.8

------------

Got answer:

HEADER:

opcode = QUERY, id = 1, rcode = NOERROR

header flags: response, auth. answer, want recursion, recur questions = 1, answers = 1, authority records = 1, additi QUESTIONS:

8.224.99.202.in-addr.arpa, type = PTR, class = IN ANSWERS:

-> 8.224.99.202.in-addr.arpa

name = nmgdnsser8

ttl = 38400 (10 hours 40 mins)

AUTHORITY RECORDS:

-> 8.224.99.202.in-addr.arpa

nameserver = ns.local

标签: