Dig简介:
Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。由于一直缺失Dig man page文档,本文就权当一个dig使用向导吧。
Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内,但是在linux系统下,它通常是某个包的一部分,在Gentoo下是bind-tools,在Redhat/Fedora下是 bind-utils,或者在Debian下是 dnsutils。
如果你要查找Bind的配置相关的信息,你参考我的文章:Bind for the mall LAN(http://www.madboa.com/geek/soho-bind/)。看懂默认输出:最简单最常见的查询是查询一台主机,但是默认情况下,Dig的输出信息很详细。你可能不需要所有的输出,但是它确实值得知道
下面是一个带有注释的查询:
$ dig www.isc.org
上面是我调用dig 的命令行。
; <<>> DiG 9.2.3 <<>> www.isc.org;; global options: printcmd
Dig的部分输出告诉我们一些有关于它的版本信息(version 9.2.3)和全局的设置选项,如果+nocmd在命令行下是第一个参数的话,那么这部分输出可以通过加+nocmd的方式查询出来。
;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43071;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
在这里,Dig告诉我们一些从DNS返回的技术信息,这段信息可以用选项 +[no]comments来控制显示,但是小心,禁止掉comments也可能关闭一些其它的选项。
;; QUESTION SECTION:;www.isc.org. IN A
在这个查询段中,Dig显示出我们查询的输出,默认的查询是查询A记录,你可以显示或者禁止掉这些用+[no]question选项
;; ANSWER SECTION:www.isc.org. 600 IN A 204.152.184.88
最后,我们得到我们查询的结果。www.isc.org 的地址是204.152.184.8,我不知道为什么你们更喜欢过滤掉这些输出,但是你可以用+[no]answer保留这些选项。
;; AUTHORITY SECTION:isc.org. 2351 IN NS ns-int.isc.org.isc.org. 2351 IN NS ns1.gnac.com.isc.org. 2351 IN NS ns-ext.isc.org.
这段权威说明告诉我们哪个DNS服务器给我们提供权威的答案。在这个例子中,isc.org有3个Name Server,你可以用+[no]authority选项保留这段输出。
;; ADDITIONAL SECTION:ns1.gnac.com. 171551 IN A 209.182.216.75ns-int.isc.org. 2351 IN A 204.152.184.65ns-int.isc.org. 2351 IN AAAA 2001:4f8:0:2::15
这些额外选项很有代表性地包含了列出的权威DNS的IP地址,这段输出可以用+[no]additional选项保留。
;; Query time: 2046 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Fri Aug 27 08:22:26 2004;; MSG SIZE rcvd: 173
最后一段默认输出包含了查询的统计数据,可以用+[no]stats保留。
我们可以查询什么?
Dig可以让你有效地查询DNS,最常用的查询是A记录,TXT(文本注释),MX记录,NS记录,或者任意综合查询。
查找yahoo.com的A记录:(此处一定是域而不是主机,如我公司为xinpindao.com)dig yahoo.com A +noall +answer
查找yahoo.com MX记录的列表:dig yahoo.com MX +noall +answer
新闻热点
疑难解答