开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
【DNS】DNS学习笔记——dig查询解析
使用dig查询DNS解析
一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手。 如果是在centos下的话,只要yum装上dig这个包就可以使用dig命令了。
- 最基本的使用方式就是
dig rap.test.intranet.
[root@DNS-master ~]# dig rap.test.intranet.
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> rap.test.intranet.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40150
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rap.test.intranet. IN A
;; ANSWER SECTION:
rap.test.intranet. 1200 IN A 192.168.1.211
;; AUTHORITY SECTION:
test.intranet. 1200 IN NS ns1.test.intranet.
test.intranet. 1200 IN NS ns2.test.intranet.
;; ADDITIONAL SECTION:
ns1.test.intranet. 1200 IN A 192.168.1.204
ns2.test.intranet. 1200 IN A 192.168.1.205
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN:
;; MSG SIZE rcvd: 130
即查询域名的A记录,查询的dns服务器将采用系统配置的服务器,即/etc/resovle.conf 中的。 如果要查询其他类型的记录,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可
dig rap.test.intranet mx
dig rap.test.intranet ns
此外,如果你是一个系统管理员,部署好了一台dns服务器之后想对它进行解析测试,就必须要显式指定待测试的dns服务器地址了,例如:
dig @1.168.192 rap.test.intranet a
默认情况下dig将采用udp协议进行查询,如果要采用tcp方式,可以加上 +tcp参数
dig rap.test.intranet a +tcp
另外一个重要的功能是+trace参数,使用这个参数之后将显示从根域逐级查询的过程
dig rap.test.intranet a +trace
[root@DNS-master ~]# dig rap.test.intranet a +trace
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> rap.test.intranet a +trace
;; global options: +cmd
. 329687 IN NS g.root-servers.net.
. 329687 IN NS a.root-servers.net.
. 329687 IN NS j.root-servers.net.
. 329687 IN NS d.root-servers.net.
. 329687 IN NS e.root-servers.net.
. 329687 IN NS c.root-servers.net.
. 329687 IN NS l.root-servers.net.
. 329687 IN NS i.root-servers.net.
. 329687 IN NS f.root-servers.net.
. 329687 IN NS m.root-servers.net.
. 329687 IN NS b.root-servers.net.
. 329687 IN NS k.root-servers.net.
. 329687 IN NS h.root-servers.net.
. 518303 IN RRSIG NS 8 0 518400 20160927050000 20160914040000 46551 . oGlpdQKJ+s6h7AW/HfNVN6w8zzrwU8Q5LP4So9LP65JBqHQqLDtpNz1j OtTiJVwdpxlF/uTQ1HOqUVNOxV7Anpcj08x/LXjCQYUco2X12/Gxats6 oX1h9FfzFtd3JKrxuo08x7fBQ7uVY9WvkHW/AcWCIRBMMpuIJqZcHlGz 92c=
;; Received 941 bytes from 127.0.0.1#53(127.0.0.1) in 1421 ms
. 86400 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2016091400 1800 900 604800 86400
. 86400 IN RRSIG SOA 8 0 86400 20160927050000 20160914040000 46551 . t2MmM3Ei/JkicFHIjsQHz4vOvfld02aXKa4Jc3cHHnzTYQ6sqcKBGoNB mhrSs51ImUQj7SXjm9T4xb7ZvnzezqWqNA2mQc6j2eFHcJgtIfryitIt WumvYo6j3PzgufTtlidWob60Y7KE0sy3Y1g3jVKwjH9YFE+8imwEPhiI vhY=
international. 86400 IN NSEC intuit. NS DS RRSIG NSEC
international. 86400 IN RRSIG NSEC 8 1 86400 20160927050000 20160914040000 46551 . PBLSHTQ/qRan5U7tZ2KEIJkQaOs356o0YRJP2SY+WjCwOfBRcVb6ljYG pgh+X45M1IXFzOEs5V36UmNZ9EZ5m+hy67dQs64Mam10WTRHsmO55RCN abR8nkLuAU20qdp2d5RbqlPUPqOmvLMhmxFwy2eRW+4+OdSmEwaYKubP YSc=
. 86400 IN NSEC aaa. NS SOA RRSIG NSEC DNSKEY
. 86400 IN RRSIG NSEC 8 0 86400 20160927050000 20160914040000 46551 . PlKRTXs02kT6qpQJw2FJibwuU56Olwo5hEzXZ4X6DQ4ONUI76mpAWuKM jtZi2OK111STK6cehRK/RTfH6qX8YF+06DpGxLkJx9oShk/G5Zj9xXid 7CRDf9ccpC+740iGK/KSWdE36LCkPw+6lU9oyXlFbqhS0YDRz4xuzbqi pSc=
;; Received 662 bytes from 192.58.128.30#53(j.root-servers.net) in 120 ms
比如,对本站域名 rap.test.intranet A记录的trace查询可以看到根域.,顶级域.intranet,以及test.intranet的域名权威服务器的地址及其各自的返回结果,这样对于追踪dns解析中的问题有很大的帮助。