域名DNS解析工具ping/nslookup/dig/host
常见 DNS 记录的类型
类型 | 目的 |
A | 地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录。 |
AAAA | 用来指定主机名(或域名)对应的 IPv6 地址记录。 |
CNAME | 如果需要将域名指向另一个域名,再由另一个域名提供 ip 地址,就需要添加 CNAME 记录。 |
MX | 如果需要设置邮箱,让邮箱能够收到邮件,需要添加 MX 记录。 |
NS | 域名服务器记录,如果需要把子域名交给其他 DNS 服务器解析,就需要添加 NS 记录。 |
SOA | SOA 这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。 |
TXT | 可以写任何东西,长度限制为 255。绝大多数的 TXT记录是用来做 SPF 记录(反垃圾邮件)。 |
ping:
ping其实不能太全面了解DNS解析的过程,只能局部了解DNS解析出来后的其中一台服务器,并且如果DNS配置了多台服务器,并且针对网络环境配置不同的服务器,那么此时也会造成单一值的影响;
比如下面用电信网络ping的值,并且ping多几次会有不同值的变化:
可见ping可以快速看到CNAME对应的A记录。
nslookup:
nslookup网上说已经过时了,但老工具还是有一定参考价值。
1、直接查询
nslookup domain [dns-server]
如果dns-server不指定,默认使用/etc/resolv.conf
2、查询其它类型的记录
nslookup -type=type domain [dns-server]
host:
1、普通查询
host domain [dns-server]
默认dns-server可以省略,不填默认本机/etc/resolv.conf
2、指定类型查询
host -t type domain [dns-server]
3、反解析
注意,这个反解析只能通过IP获取最终的DNS服务器
host IP
dig:
1、普通查询
dig domain @[dns-server]
2、查询指定类型
dig [type] domain [dns-server]
3、反解析
dig -x IP
4、输出信息解释
- 第一部分显示 dig 命令的版本和输入的参数。
- 第二部分显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。
- 第三部分中的 "QUESTION SECTION" 显示我们要查询的域名。
- 第四部分的 "ANSWER SECTION" 是查询到的结果。
- 第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等。
默认情况下 dig 命令查询 A 记录,上图中显示的 A 即说明查询的记录类型为 A 记录。
总结:
从功能性上讲,dig命令显示的信息会比其它几个工具的详细很多。