ubuntu/debian下安装使用dig

在ubuntu10.10下没有dig命令,而debian6下面有这个命令

ubuntu下想要apt-get安装,发现没有找到dig软件包

搜索后才发现正确安装是安装dnsutils

apt-get install dnsutils

PS:redhat系列这样安装

yum install bind-utils

看看dig命令大多时候如何可以取代nslookup的

root@www:~# dig sina.com

; <<>> DiG 9.7.1-P2 <<>> sina.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58809
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 2

;; QUESTION SECTION:
;sina.com.                      IN      A

;; ANSWER SECTION:
sina.com.               60      IN      A       12.130.132.30

;; AUTHORITY SECTION:
sina.com.               600     IN      NS      ns3.sina.com.cn.
sina.com.               600     IN      NS      ns1.sina.com.
sina.com.               600     IN      NS      ns2.sina.com.cn.
sina.com.               600     IN      NS      ns2.sina.com.
sina.com.               600     IN      NS      ns1.sina.com.cn.

;; ADDITIONAL SECTION:
ns1.sina.com.           60      IN      A       114.134.80.144
ns2.sina.com.           60      IN      A       114.134.80.145

;; Query time: 255 msec
;; SERVER: 208.87.241.170#53(208.87.241.170)
;; WHEN: Thu Nov  3 22:18:19 2011
;; MSG SIZE  rcvd: 175

简明使用,只会输出A记录(写脚本的时候容易获取ip地址)

dig jpuyy.com +short

只输出mx记录,简明使用

dig mx jpuyy.com +short

只输出NS记录

dig ns jpuyy.com

查询SOA( Start of Autority ) 返回主DNS服务器

dig soa jpuyy.com

指定dns,例如查询8.8.8.8中的jpuyy.com记录

dig +short @8.8.8.8 jpuyy.com

大部分的时候dig最下面显示了查询所用的时间及DNS服务器,时间,数据大小。DNS超时时间为30秒,查询时间对于排查DNS问题很有用。

;; Query time: 48 msec
;; SERVER: 10.202.72.118#53(10.202.72.118)
;; WHEN: Sun Oct 12 21:41:47 2014
;; MSG SIZE  rcvd: 225

DNS的解析是递规解析,那么用dig可以加+trace参数,会显示完整的,无缓存,递规的查询,显示的是完整的trace记录。
可以发现本地DNS(10.202.72.118)返回了根服务器列表,在一台根服务器(199.7.91.13)查到com.的记录,在其中一台com.中查到了jpuyy.com并返回了NS记录,在NS中找到了A记录。

dig jpuyy.com +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> jpuyy.com +trace
;; global options: +cmd
.			493573	IN	NS	i.root-servers.net.
.			493573	IN	NS	e.root-servers.net.
.			493573	IN	NS	k.root-servers.net.
.			493573	IN	NS	c.root-servers.net.
.			493573	IN	NS	f.root-servers.net.
.			493573	IN	NS	d.root-servers.net.
.			493573	IN	NS	m.root-servers.net.
.			493573	IN	NS	j.root-servers.net.
.			493573	IN	NS	g.root-servers.net.
.			493573	IN	NS	b.root-servers.net.
.			493573	IN	NS	h.root-servers.net.
.			493573	IN	NS	a.root-servers.net.
.			493573	IN	NS	l.root-servers.net.
;; Received 496 bytes from 10.202.72.118#53(10.202.72.118) in 1 ms

com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
;; Received 487 bytes from 199.7.91.13#53(199.7.91.13) in 162 ms

jpuyy.com.		172800	IN	NS	f1g1ns1.dnspod.net.
jpuyy.com.		172800	IN	NS	f1g1ns2.dnspod.net.
;; Received 209 bytes from 192.5.6.30#53(192.5.6.30) in 298 ms

jpuyy.com.		600	IN	A	114.215.158.48
;; Received 43 bytes from 112.90.143.29#53(112.90.143.29) in 38 ms

服务器上很多时候是双线或三线,如果有智能解析的话要测试从某一个 ip 去请求 dns,加 -b 参数

dig -b jpuyy.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注