关于linux:linux-网络dig查询DNS详解

37次阅读

共计 2525 个字符,预计需要花费 7 分钟才能阅读完成。

文章目录
​ ​1.dig 是什么​​
​ ​2.dig 组成​​
​ ​3.dig 实例​​
1.dig 是什么
dig,和 nslookup 作用有些相似,都是 DNS 查问工具

什么是 CNAME:一个域名能够有两种类型的指向,如果一个 域名指向 称为一个 记录(Record)的话,那么就有两种 记录类型(Record Type),别离是:

A 记录:指向一个 IP 地址
CNAME:指向一个其余的域名

2.dig 组成
输入后果大抵分成 4 个局部,实际上可能还包含更多的内容,总共会有以下 6 个局部:

Header : 包含软件版本,全局变量以及除音讯头以外的其余局部的信息,比方上例中,显示有 1 个 QUERY,2 个 ANSWER
QUESTION SECTION : 申请参数信息,也就是你的输出
ANSWER SECTION : 从 DNS 查问到的信息,也就是输入,显示 i.zhouliang.pro 是 CNAME,指向
mydomain.lofter.com,而后者是一个 A 记录,指向一个 IP 地址
AUTHORITY SECTION : 蕴含 DNS 域名服务器的受权信息,上例中不蕴含这一部分,如果用这个命令就能够看到 dig
@ns1.redhat.com redhat.com,这里的 @ 符号用于指定查问所应用的 DNS 服务器
ADDITIONAL SECTION : 蕴含 AUTHORITY SECTION 中的域名服务器的 IP 地址,同样,上例中也不蕴含这一部分
Stats section : 最下方的一部分,显示了查问工夫等额定信息
如果你设置的 dnsserver 是一个域名,那么 dig 会首先通过默认的上连 DNS 服务器去查问对应的 IP 地址,而后再以设置的 dnsserver 为上连 DNS 服务器。
没有设置 @dnsserver,那么 dig 就会顺次应用 **/etc/resolv.conf 里的地址作为上连 DNS 服务器。
对 querytype 有所理解,你能够设置 A /AAAA/PTR/MX/ANY** 等值,默认是查问 A 记录。

+nocomments – 不显示正文
+noauthority – 不显示 AUTHORITY SECTION
+noadditional – 不显示 ADDITIONAL SECTION
+nostats – 不显示 Stats section
+noanswer – 不显示 ANSWER SECTION
+noall – 不显示所有的信息,个别会这样用 dig zhouliang.pro +noall +answer
和下面参数对应还有 +comments,+answer 等,后文有示例,此处不赘述。另外,还有如下两个参数须要理解:

+short – 显示简短的信息
-t 指定查问的记录类型,能够是 CNAME、A、MX、NS,别离示意 CNAME、A 记录、MX 记录、DNS 服务器,默认是 A
-x 示意反向查找,也就是依据 IP 地址查找域名
-c 能够设置协定类型(class),包含 IN(默认)、CH 和 HS
-f dig 反对从一个文件里读取内容进行批量查问
- 4 和 -6 用于设置仅实用哪一种作为查问包传输协定,别离对应着 IPv4 和 IPv6
-q 显式设置你要查问的域名
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
3.dig 实例
$ dig www.oolec.com
1.
即查问域名的 A 记录,查问的 dns 服务器将采纳系统配置的服务器,即​​/etc/resovle.conf​​ 中的。

如果要查问其余类型的记录,比方 MX,CNAME,NS,PTR 等,只需将类型加在命令前面即可

$ dig www.oolec.com mx
$ dig www.oolec.com ns
1.
2.
此外,如果你是一个系统管理员,部署好了一台 dns 服务器之后想对它进行解析测试,就必须要显式指定待测试的 dns 服务器地址了,例如

dig @202.106.0.20 www.oolec.com a
1.
默认状况下 dig 将采纳 udp 协定进行查问,如果要采纳 tcp 形式,能够加上 +tcp 参数

dig www.oolec.com a +tcp
1.
另外一个重要的性能是 +trace 参数,应用这个参数之后将显示从根域逐级查问的过程

dig www.oolec.com a +trace
1.
google-DNS 来查 baidu.com 的 A 记录

dig @8.8.8.8 www.baidu.com A // 命令格局为 dig @dnsserver name querytype
1.
$ cat querylist
www.baidu.com
www.sohu.com
$ dig -f querylist -c IN -t A
1.
2.
3.
4.
. 查看域名

$ dig i.zhouliang.pro +noall +anwser

; <<>> DiG 9.8.3-P1 <<>> i.zhouliang.pro +noall +answer
;; global options: +cmd
i.zhouliang.pro. 10034 IN CNAME mydomain.lofter.com.
mydomain.lofter.com. 9183 IN A 54.248.125.234
1.
2.
3.
4.
5.
6.
第一行是 CNAME,先将 i.zhouliang.pro 解析成 mydomain.lofter.com,第二行是 A 记录,将 mydomain.lofter.com 解析成 IP 地址。这是一个残缺的域名解析过程

2. 查找域名的 MX 记录:

$ dig zhouliang.pro -t MX +short
10 mxdomain.qq.com.
1.
2.
从输入能够看出,我用了 QQ 提供的域名邮箱服务

3. 查找域名对应的 CNAME:

$ dig i.zhouliang.pro -t CNAME +short
mydomain.lofter.com.
1.
2.
4. 依据 IP 地址反向查找域名

$ dig -x 8.8.8.8 +short

; <<>> DiG 9.8.3-P1 <<>> -x 8.8.8.8 +noall +answer
;; global options: +cmd
8.8.8.8.in-addr.arpa. 79605 IN PTR google-public-dns-a.google.com.
1.
2.
3.
4.
5.
5. 查问域名的解析 DNS 服务器地址

$ dig www. ns +short
参考链接:
2 Ways to Check DNS server response time

正文完
 0