share-image
ESC

dig 详解

dig命令是一个 dns 查询工具,类似的还有 nsllokup,nslookup 可以在 Windows 和 unix/Linux 上使用,而dig 只能在 unix/linux 上使用。dig是一个缩写其实是一个缩写,即Domain Information Groper

用法

dig --help
Invalid option: --help
Usage:  dig [@global-server] [domain] [q-type] [q-class] {q-opt}
            {global-d-opt} host [@local-server] {local-d-opt}
            [ host [@local-server] {local-d-opt} [...]]

Use "dig -h" (or "dig -h | more") for complete list of options

用法:dig @dnsserver name querytype

如果你直接 dig 后回车,得到的信息类似如下,在不带任何参数和选项的时候,dig 会向默认的上连 dns 服务器查询.(根域名)的 NS 记录。

# dig

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52702
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			261640	IN	NS	k.root-servers.net.
.			261640	IN	NS	f.root-servers.net.
.			261640	IN	NS	j.root-servers.net.
.			261640	IN	NS	l.root-servers.net.
.			261640	IN	NS	a.root-servers.net.
.			261640	IN	NS	h.root-servers.net.
.			261640	IN	NS	g.root-servers.net.
.			261640	IN	NS	c.root-servers.net.
.			261640	IN	NS	i.root-servers.net.
.			261640	IN	NS	d.root-servers.net.
.			261640	IN	NS	m.root-servers.net.
.			261640	IN	NS	b.root-servers.net.
.			261640	IN	NS	e.root-servers.net.

;; Query time: 12 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Wed Mar 15 18:48:35 2017
;; MSG SIZE  rcvd: 228

dig 加个点

# dig .

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8445
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;.				IN	A

;; AUTHORITY SECTION:
.			1603	IN	SOA	a.root-servers.net. nstld.verisign-grs.com. 2017031500 1800 900 604800 86400

;; Query time: 12 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Wed Mar 15 18:50:57 2017
;; MSG SIZE  rcvd: 92

查询某个域名的解析记录

➜  ~ dig awen.me

; <<>> DiG 9.8.3-P1 <<>> awen.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58893
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;awen.me.			IN	A

;; ANSWER SECTION:
awen.me.		600	IN	A	121.42.148.64

;; Query time: 87 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Wed Mar 15 18:41:46 2017
;; MSG SIZE  rcvd: 41

指定 dns 查询

对比上面的,我们看下SERVER: 223.5.5.5#53(223.5.5.5)变成了114的 dns。

# dig @114.114.114.114 www.awen.me

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> @114.114.114.114 www.awen.me
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39643
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.awen.me.			IN	A

;; ANSWER SECTION:
www.awen.me.		600	IN	A	121.42.148.64

;; Query time: 822 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Wed Mar 15 18:52:58 2017
;; MSG SIZE  rcvd: 45

批量查询

我们把需要查询的域名信息写入文件文件,查询时候使用 -f 参数指定文件

# cat test.txt
www.baidu.com
www.youku.com
www.upyun.com

然后

dig -f test.txt	

指定使用ipv4还是ipv6查询

dig -4 domain or dig -6 domain

使用-t 参数查询其他 dns 类型

查询邮件解析

# dig  qq.com -t MX

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> qq.com -t MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35044
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;qq.com.				IN	MX

;; ANSWER SECTION:
qq.com.			7200	IN	MX	10 mx3.qq.com.
qq.com.			7200	IN	MX	20 mx2.qq.com.
qq.com.			7200	IN	MX	30 mx1.qq.com.

;; Query time: 472 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Wed Mar 15 18:58:02 2017
;; MSG SIZE  rcvd: 84

-x 参数逆向查询选项。可以查询IP地址到域名的映射关系。

dig -x 121.42.148.64

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> -x 121.42.148.64
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 17255
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;64.148.42.121.in-addr.arpa. IN PTR

;; Query time: 533 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Wed Mar 15 18:59:21 2017
;; MSG SIZE rcvd: 44

指定协议查询

还可以使用 tcp 查询,默认是 udp

dig +tcp  domain

递归查询 dns 解析

dig +trcae domain

例如:

➜  ~ dig +trace awen.me

; <<>> DiG 9.8.3-P1 <<>> +trace awen.me
;; global options: +cmd
.			396	IN	NS	j.root-servers.net.
.			396	IN	NS	b.root-servers.net.
.			396	IN	NS	d.root-servers.net.
.			396	IN	NS	i.root-servers.net.
.			396	IN	NS	m.root-servers.net.
.			396	IN	NS	h.root-servers.net.
.			396	IN	NS	e.root-servers.net.
.			396	IN	NS	g.root-servers.net.
.			396	IN	NS	l.root-servers.net.
.			396	IN	NS	c.root-servers.net.
.			396	IN	NS	f.root-servers.net.
.			396	IN	NS	a.root-servers.net.
.			396	IN	NS	k.root-servers.net.
;; Received 228 bytes from 223.5.5.5#53(223.5.5.5) in 676 ms

me.			415	IN	NS	ns.nic.me.
me.			415	IN	NS	c0.cctld.afilias-nst.info.
me.			415	IN	NS	a2.me.afilias-nst.info.
me.			415	IN	NS	d0.cctld.afilias-nst.org.
me.			415	IN	NS	b2.me.afilias-nst.org.
me.			415	IN	NS	a0.cctld.afilias-nst.info.
me.			415	IN	NS	ns2.nic.me.
me.			415	IN	NS	b0.cctld.afilias-nst.org.
;; Received 511 bytes from 198.41.0.4#53(198.41.0.4) in 1094 ms

…… 省略很多,太长了

me.			414	IN	NS	ns2.nic.me.
me.			414	IN	NS	a0.cctld.afilias-nst.info.
me.			414	IN	NS	b2.me.afilias-nst.org.
me.			414	IN	NS	b0.cctld.afilias-nst.org.
me.			414	IN	NS	ns.nic.me.
me.			414	IN	NS	c0.cctld.afilias-nst.info.
me.			414	IN	NS	a2.me.afilias-nst.info.
me.			414	IN	NS	d0.cctld.afilias-nst.org.
;; BAD (HORIZONTAL) REFERRAL
dig: too many lookups

使用+short

只输出很短的信息

dig +short awen.me
121.42.148.64

查询 NS 信息

  wwwroot dig NS awen.me

; <<>> DiG 9.8.3-P1 <<>> NS awen.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5760
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;awen.me. IN NS

;; ANSWER SECTION:
awen.me. 605 IN NS dns9.hichina.com.
awen.me. 605 IN NS dns10.hichina.com.

;; Query time: 34 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Thu Jul 6 17:27:02 2017
;; MSG SIZE rcvd: 75

文章作者:阿文
文章链接: https://www.awen.me/post/3084772776.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2017-06-14 发布,已超过半年(3151天),请注意甄别内容是否已过期。