dig(domain information groper)用来探测DNS,他会打印出DNS name server的回应。
dig命令用法
1
2
3
4
5 1dig [@server] [-b address] [-c class] [-f filename] [-k filename] [ -n ][-p port#] [-t type] [-x addr] [-y name:key] [name] [type] [class] [queryopt...]
2dig [-h]
3dig [global-queryopt...] [query...]
4
5
dig(域信息搜索器)执行DNS搜索,显示从接受请求的域名服务器返回的答复。多数DNS管理员利用dig作为DNS问题的故障诊断,因为它灵活性好,易用、输出清晰。通常情况下dig使用命令行参数,但它也可以按批处理模式从文件读取搜索请求。不同于早期版本,dig的BIND9实现允许从命令行发出多个查询,除非被告知请求特定域名服务器,dig将尝试/etc/resolv.conf中列举的所有服务器。当未指定任何命令行参数或选项时,dig将对“.”执行NS查询。
dig命令选项
-b address设置所要询问地址的源IP地址。这必须是主机网络接口上的某一合法的地址
- -c class缺省查询类,由选项-c重设。class可以是任何合法类,比如查询Hesiod记录的HS类或查询CHAOSNET记录的CH类;
- -f filename使dig在批处理模式下运行,通过从文件filename读取一系列搜索请求加以处理。文件包含许多查询,每行一个。文件中的每一项都应该和使用命令行接口对dig查询相同的方法来组织;-f filename使dig在批处理模式下运行,通过从文件filename读取一系列搜索请求加以处理。文件包含许多查询,每行一个。文件中的每一项都应该和使用命令行接口对dig查询相同的方法来组织;
- -h显示一个简短的命令行参数和选项摘要;-h显示一个简短的命令行参数和选项摘要;
- -k filename要签署由dig发送的DNS查询以及对他们使用事物签名(TSIG)的响应,用选项-K指定TSIG密钥文件;-k filename要签署由dig发送的DNS查询以及对他们使用事物签名(TSIG)的响应,用选项-K指定TSIG密钥文件;
- -n
- -p port如果需要查询一个非标准的端口号,则使用选项-p。port是dig将发送其查询的端口号,而不是标准的DNS端口号53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器;-p port如果需要查询一个非标准的端口号,则使用选项-p。port是dig将发送其查询的端口号,而不是标准的DNS端口号53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器;
- -t type设置查询的类型为type。可以是BIND9支持的任意有效查询类型。缺省查询类型是A,除非提供-x选项来指示一个逆向查询。通过指定AXFR的type可以请求一个区域传输。当需要增量区域传输(IXFR)时,type设置为ixfr=N,增量区域传输将包含自从区域的SOA记录中的序列号改为N之后对区域所做的更改;-t type设置查询的类型为type。可以是BIND9支持的任意有效查询类型。缺省查询类型是A,除非提供-x选项来指示一个逆向查询。通过指定AXFR的type可以请求一个区域传输。当需要增量区域传输(IXFR)时,type设置为ixfr=N,增量区域传输将包含自从区域的SOA记录中的序列号改为N之后对区域所做的更改;
- -x addr 逆向查询(将地址映射到名称);-x addr 逆向查询(将地址映射到名称);
- -y name key指定TSIG秘钥;-y name key指定TSIG秘钥;
查询选项
+tcp 查询域名服务器时使用tcp,缺省行为是UDP,除非是AXFR或IXFR请求,才使用TCP连接;
+vc 查询名称服务器时使用tcp,+tcp的备用语法提供了向下兼容。vc代表虚电路;
+ignore 忽略UDP响应的中断,而不是用tcp重试。缺省情况下运行TCP重试;
+domain=somename 设定包含单个域somename的搜索列表,好像被/etc/resolv.conf中的域伪指令指定,并且启用搜索列表处理,好像给定了+search选项;
+search 使用搜索列表或resolv.conf中的域伪指令(如果有的话)定义的搜索列表。缺省情况下不使用搜索列表;
+defname +aaonly +adflag +cdflag +recursive 默认情况下下递归查询,使用+nssearch或+trace时,自动禁用递归;
+nssearch dig试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的SOA记录;
+trace 一旦启用跟踪,dig使用迭代查询解析待查询名称,它将按照从根服务器的参照显示来自每台使用解析查询的服务器的应答;
+cmd 设定在输出中显示指出dig版本及其所用的查询选项的初始注释。缺省情况下显示注释;
+short 提供简要答复;
+identify +comments +stats 该查询选项设定显示信息,查询进行时,应答的大小等等,缺省显示查询统计信息;
+qr 显示发送查询请求,缺省不显示;
+question 返回应答时,显示查询请求的问题部分;
+answer 显示应答的回答部分;
+authority 显示应答的权限部分;
+additional 显示应答的附加部分;
+all +time=T 设置超时时间,默认是5s;
+tries=A 设置向服务器发送UDP查询请求的重试次数为A;缺省是3次;
+ndots=D +bufsize=B 设置使用EDNS0的UDP消息缓冲区大小为B字节。缓冲区的最大值和最小值分别为65525和0.超出这个范围的值自动舍入到最近的有效值;
+multiline 多行格式显示类似SOA的记录;
多重查询
1
2
3 1dig +qr www.lampbo.org any -x 127.0.0.1 isc.org ns +noqr
2
3
dig典型用法
1
2
3 1dig @server name type
2
3
server 待查询名称服务器的名称或ip地址;
name 将要查询的资源记录的名称;
type 显示所需的查询类型,ANY,A,MX,SIG,默认是A;
1
2
3 1dig www.baidu.com
2
3
解析说明:
- 1 DNS客户端发包到DNS服务端请求www.baidu.com的IP地址,由于有一条CNAME记录;
- 2 DNS客户端会访问www.a.shifen.com的域名服务器(相当于是访问www.baidu.com的域名服务器);
- 3a.shifen.com的域名服务器是一个负责DNS查询流量均衡的调度器,负责把DNS请求调度到ns5.a.shifen等域名服务器上;
- 4 最后这些标记了NS的域名服务器会把百度的IP返回给DNS客户端;
- 5 然后我们得到www.baidu.com的IP地址;
使用+【no】short运行简短输出
1
2
3 1dig sohu.com @202.102.134.68 -p 53 -t MX +short
2
3
使用+【no】trace 跟踪域名解析过程
1
2
3 1dig sohu.com @202.102.134.68 -p 53 -t MX +trace
2
3