Linux dig
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux dig相关的知识,希望对你有一定的参考价值。
dig(Domain Information Groper),和nslookup作用有些类似,都是DNS查询工具
1、dig命令格式
dig @dnsserver name querytype
如果你设置的dnsserver是一个域名,首先通过默认的上连DNS服务器去查询对应的IP地址,然后再以设置的dnsserver为上连DNS服务器。如果你没有设置@dnsserver,那么dig就会依次使用/etc/resolv.conf里的地址作为上连DNS服务器
querytype可以设置A/AAAA/PTR/MX/ANY等值,默认是查询A记录。
2、常用的选项
参数 | 说明 |
-c | 可以设置协议类型(class),包括IN(默认)、CH和HS |
-f | dig支持从一个文件里读取内容进行批量查询,这个非常体贴和方便。文件的内容要求一行为一个查询请求 |
-t | 用来设置查询类型,默认情况下是A,也可以设置MX等类型 |
-q | -q选项可以显式设置你要查询的域名,这样可以避免和其他众多的参数、选项相混淆,提高了命令的可读 |
-x | 是逆向查询选项。可以查询IP地址到域名的映射关系 |
-4、-6 | 设置仅适用哪一种作为查询包传输协议,分别对应着IPv4和IPv6 |
查询案列:
#dig baidu.com -t mx 查询baidu的MX记录
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> baidu.com -t mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3440
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;baidu.com. IN MX
;; ANSWER SECTION:
baidu.com. 5 IN MX 20 mx1.baidu.com.
baidu.com. 5 IN MX 20 jpmx.baidu.com.
baidu.com. 5 IN MX 10 mx.n.shifen.com.
baidu.com. 5 IN MX 20 mx50.baidu.com.
3、dig特有的查询选项
+trace dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来。
+nocmd 可以节省输出dig版本信息。
+short的话 仅会输出最精简的CNAME信息和A记录,其他都不会输出。
+nocomment的话,可以节省输出dig的详情注释信息
+[no]stats 该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
+[no]nssearch 这个选项被设置时,dig 试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的 SOA 记录。
+[no]recursive 切换查询中的 RD(要求递归)位设置。在缺省情况下设置该位,也就是说 dig 正常情形下发送递归查询。当使用查询选项 +nssearch 或 +trace 时,递归自动禁用。
+[no]search 使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
查询案列
#dig +short www.baidu.com 仅会输出baidu精简的CNAME信息和A记录
www.a.shifen.com.
119.75.218.77
119.75.217.56
# dig +nocmd +nocomment +nostat www.baidu.com
;www.baidu.com. IN A
www.baidu.com. 260 IN CNAME www.a.shifen.com.
www.a.shifen.com. 244 IN A 119.75.217.56
www.a.shifen.com. 244 IN A 119.75.218.77
#dig @223.5.5.5 www.baidu.com +trace+nocmd 从根域查询一直跟踪直到查询到最终结果
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> @223.5.5.5 www.baidu.com trace +nocmd
; (1 server found)
;; global options: +cmd
. 340255 IN NS j.root-servers.net.
. 340255 IN NS l.root-servers.net.
. 340255 IN NS e.root-servers.net.
. 340255 IN NS b.root-servers.net.
. 340255 IN NS c.root-servers.net.
. 340255 IN NS h.root-servers.net.
. 340255 IN NS d.root-servers.net.
. 340255 IN NS a.root-servers.net.
. 340255 IN NS f.root-servers.net.
. 340255 IN NS i.root-servers.net.
. 340255 IN NS k.root-servers.net.
. 340255 IN NS g.root-servers.net.
. 340255 IN NS m.root-servers.net.
;; Received 228 bytes from 223.5.5.5#53(223.5.5.5) in 125 ms
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
;; Received 491 bytes from 199.7.83.42#53(199.7.83.42) in 144 ms
baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
以上是关于Linux dig的主要内容,如果未能解决你的问题,请参考以下文章