linux dig 命令

查询主机地址信息。

查询单个域名的 DNS 信息

用法就是查询单个主机的信息。

$ dig baidu.com

默认的输出信息比较丰富,大概可以分为 5 个部分。显示 dig 命令的版本和输入的参数。显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。显示我们要查询的域名。查询到的结果。查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等。

默认情况下 dig 命令查询 A 记录,上图中显示的 A 即说明查询的记录类型为 A 记录。在尝试查询其它类型的记录前让我们先来了解一下常见的 DNS 记录类型。

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">A</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录。</td>

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">AAAA</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">用来指定主机名(或域名)对应的 IPv6 地址记录。</td>

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">CNAME</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">如果需要将域名指向另一个域名,再由另一个域名提供 ip 地址,就需要添加 CNAME 记录。</td>

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">MX</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">如果需要设置邮箱,让邮箱能够收到邮件,需要添加 MX 记录。</td>

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">NS</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">域名服务器记录,如果需要把子域名交给其他 DNS 服务器解析,就需要添加 NS 记录。</td>

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">SOA</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">SOA 这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。</td>

</tr>
<tr>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">TXT</td>
<td><span style="font-family: Microsoft YaHei; font-size: 15px">可以写任何东西,长度限制为 255。绝大多数的 TXT记录是用来做 SPF 记录(反垃圾邮件)。</td>

</tr>

查询 CNAME 类型的记录

查询时指定要查询的 DNS 记录类型:

$ dig abc.filterinto.com CNAME

查询中指定任何 DNS 记录的类型。

查询

查询(从认的 DNS 服务器上获得的结果可能不准确)。指定 DNS 服务器的方式为使用 @ 符号:

$ dig @. abc.filterinto.com

查询的 DNS 服务器为 8.8.8.8。

$ dig abc.filterinto.com

查询的 DNS 服务器就变成了:

查询

查询中我们指定了查询服务器为 8.8.8.8,这是谁家的 DNS 服务器?其实我们可以使用 dig 的 -x 选项来反向解析 IP 地址对应的域名:

$ dig -x . +

显示结果

默认返回的结果展示详细的信息,如果要获得精简的结果可以使用 +short 选项:

$ dig + abc.filterinto.com

显示的结果就清爽多了。输出的内容,比如只想显示 "ANSWER SECTION" 的内容

$ dig abc.filterinto.com +nocomments +noquestion +noauthority +noadditional +nostats

$ dig abc.filterinto.com +noall +answer

$ dig abc.filterinto.com

查询结果中的单位是秒。通过下面的命令可以显示精简一些测结果:

$ dig +nocmd +noall +answer +ttlid abc.filterinto.com

查询过程

查询时都经历了哪些过程,你可以尝试使用 +trace 选项。它会输出从根域到最终结果的所有信息:

$ dig +trace abc.filterinto.com

显示的并不是一个完整的结果,感兴趣的朋友可以自己尝试。

一个很给力 DNS 查询工具,本文仅介绍了其常见用法,更多的命令选项及使用方法请查看 man page。

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...