曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5123|回复: 1
打印 上一主题 下一主题

dig -- DNS 查询工具

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-4-27 20:13:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
dig 命令用来进行 DNS 查询。在 Linux 上,在 Gentoo 发行版里,dig 包含在 bind-tools 软件包里,在 Red Hat, Fedora 这类发行版里,它包含在  bind-utils 里,在 Debian 系列的发行版里,它包含在 dnsutils 里。

dig 的一般用法如:
[root@centos ~]# dig www.groad.net

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> www.groad.net
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59689
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.groad.net.                 IN      A

;; ANSWER SECTION:
www.groad.net.          600     IN      A       121.15.245.7

;; Query time: 6 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Apr 27 20:06:15 2011
;; MSG SIZE  rcvd: 47

[Plain Text] 纯文本查看 复制代码
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> www.groad.net
;; global options:  printcmd

第 1 行告诉我们版本号,第 2 行说明了全局可选参数为 printcmd 。这两项内容默认打印出来,如果不希望打印,可以如下使用:
#dig +nocmd www.groad.net
注意,这里 +nocmd 要放在域名的前面,而不能放在后面。

[Plain Text] 纯文本查看 复制代码
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59689
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

这里给出从 DNS 服务器返回的一些细节信息。如果不想看到这些信息,可以用 +nocomments 选项将其去掉,但一般还是不要去掉为好,因为它会因此而屏蔽掉一些其他的细节信息。

[Plain Text] 纯文本查看 复制代码
;; QUESTION SECTION:
;www.groad.net.                 IN      A

这两行只是提醒我们我们在查询的是哪个域名。这里 A 表示地址,即通常说的 A记录 。如果不希望看到此选项,则可用 +noquestion 选项将其屏蔽。

[Plain Text] 纯文本查看 复制代码
; ANSWER SECTION:
www.groad.net.          600     IN      A       121.15.245.7

到了这里,我们已经查询到 www.groad.net 对应的 IP 地址为 121.15.245.7 。这个信息可以通过 +noanswer 选项将其去掉,但是真的需要去掉这个选项么?大概一般人都不会。

如果上面只有 QUESTION 而没有 ANSWER,那这个域名的解析很可能就出现故障了。

[Plain Text] 纯文本查看 复制代码
;; Query time: 6 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Apr 27 20:06:15 2011
;; MSG SIZE  rcvd: 47

最后这里是一些额外信息,告诉我们 DNS 服务器地址,以及查询的时间,还有收到的反馈信息字节数。如果不希望看到这些额外信息,可以使用 +noadditional选项进行屏蔽。

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
沙发
 楼主| 发表于 2011-4-27 23:55:50 | 只看该作者

dig 使用示例

得到网易的地址:
[root@centos ~]# dig 163.com A +noall +answer

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> 163.com A +noall +answer
;; global options:  printcmd
163.com.                592     IN      A       220.181.8.90
163.com.                592     IN      A       220.181.8.178
163.com.                592     IN      A       220.181.8.191
163.com.                592     IN      A       220.181.29.42
163.com.                592     IN      A       220.181.29.153
163.com.                592     IN      A       220.181.29.160
上面,A +noall +answer 表示我们只关心得到域名的 A记录,其它的信息通通不要显示。

获得网易的邮件服务器列表:
[root@centos ~]# dig 163.com MX +noall +answer

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> 163.com MX +noall +answer
;; global options:  printcmd
163.com.                334     IN      MX      10 163mx02.mxmail.netease.com.
163.com.                334     IN      MX      10 163mx03.mxmail.netease.com.
163.com.                334     IN      MX      50 163mx00.mxmail.netease.com.
163.com.                334     IN      MX      10 163mx01.mxmail.netease.com.
MX 表示要获取的是邮件服务器列表。

获得网易的权威名称服务器列表:
[root@centos ~]# dig 163.com NS +noall +answer

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> 163.com NS +noall +answer
;; global options:  printcmd
163.com.                2028    IN      NS      ns4.nease.net.
163.com.                2028    IN      NS      ns2.nease.net.
163.com.                2028    IN      NS      ns3.nease.net.

使用 AAAA 获得 IPv6 地址:
[root@centos ~]# dig www.isc.org AAAA +short
2001:4f8:0:2::d

像上面,+short 选项可以只打印出最终想要的内容,而其它的信息细节一概不会输出:
[root@centos ~]# dig www.groad.net +short
121.15.245.7
又如:
[root@centos ~]# dig 163.com mx +short
50 163mx00.mxmail.netease.com.
10 163mx01.mxmail.netease.com.
10 163mx02.mxmail.netease.com.
10 163mx03.mxmail.netease.com.

如果觉得上面的 +short 太过于简短,而同时又不希望输出其它的辅助性信息,那么可以:
[root@centos ~]# dig +nocmd 163.com mx +noall +answer
163.com.                2218    IN      MX      10 163mx03.mxmail.netease.com.
163.com.                2218    IN      MX      50 163mx00.mxmail.netease.com.
163.com.                2218    IN      MX      10 163mx01.mxmail.netease.com.
163.com.                2218    IN      MX      10 163mx02.mxmail.netease.com.
上面我们获得了我们所关心的且比较完整的一份答案。

-x 参数可以查询进行反向查询(地址 到 名称):
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
NET=18.7.22
for n in $(seq 1 254); do
  ADDR=${NET}.${n}
  echo -e "${ADDR}\\t$(dig -x ${ADDR} +short)"
done

脚本输出:
[root@centos shell]# sh lookup.sh
18.7.22.1       W92-RTR-1-W92SRV22.MIT.EDU.
18.7.22.2       W92-RTR-1-W92SRV22-HSRP-PRIMARY.MIT.EDU.
18.7.22.3       B24-RTR-3-W92SRV22-HSRP-SECONDARY.MIT.EDU.
18.7.22.4       W92-130-SW-STUB-W92SRV22.MIT.EDU.
18.7.22.5       W92-130-BR-W92SRV22.MIT.EDU.
18.7.22.6       M24-004-SW-STUB-24SRV22.MIT.EDU.
18.7.22.7       BABY-7-22.MIT.EDU.
18.7.22.8       M24-004-BR-24SRV22.MIT.EDU.
18.7.22.9       W92-F5-FAILOVER-BR.MIT.EDU.
18.7.22.10
18.7.22.11
18.7.22.12
18.7.22.13      AGENT-7-22.MIT.EDU.
... ...

+trace 选项可以实现从根开始的跟踪:
[root@centos shell]# dig 163.com +trace

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> 163.com +trace
;; global options:  printcmd
.                       500881  IN      NS      m.root-servers.net.
.                       500881  IN      NS      j.root-servers.net.
.                       500881  IN      NS      b.root-servers.net.
.                       500881  IN      NS      h.root-servers.net.
.                       500881  IN      NS      l.root-servers.net.
.                       500881  IN      NS      k.root-servers.net.
.                       500881  IN      NS      d.root-servers.net.
.                       500881  IN      NS      e.root-servers.net.
.                       500881  IN      NS      a.root-servers.net.
.                       500881  IN      NS      c.root-servers.net.
.                       500881  IN      NS      f.root-servers.net.
.                       500881  IN      NS      g.root-servers.net.
.                       500881  IN      NS      i.root-servers.net.                        /*上面这些都是根服务器*/
;; Received 384 bytes from 192.168.1.1#53(192.168.1.1) in 7 ms

com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.        /*com 区域, 上面这些都是负责 .com 的顶级域的 NS 服务器*/
;; Received 485 bytes from 202.12.27.33#53(m.root-servers.net) in 86 ms

163.com.                172800  IN      NS      ns2.nease.net.
163.com.                172800  IN      NS      ns3.nease.net.
163.com.                172800  IN      NS      ns4.nease.net.
;; Received 136 bytes from 192.41.162.30#53(l.gtld-servers.net) in 438 ms

163.com.                600     IN      A       220.181.8.178
163.com.                600     IN      A       220.181.8.191
163.com.                600     IN      A       220.181.29.42
163.com.                600     IN      A       220.181.29.153
163.com.                600     IN      A       220.181.29.160
163.com.                600     IN      A       220.181.8.90
163.com.                18000   IN      NS      ns2.nease.net.
163.com.                18000   IN      NS      ns4.nease.net.
163.com.                18000   IN      NS      ns3.nease.net.               /*有 3 台 NS 服务器为网易提供域名解析服务*/
;; Received 232 bytes from 114.113.197.12#53(ns2.nease.net) in 28 ms
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-19 03:35 , Processed in 0.082107 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表