DNS是大家网络生活中每时每刻都碰到并使用的工具。本文通过几个随处可得的简单工具来测试并troubleshooting DNS,希望能够通过这些测试和troubleshooting过程,加深对DNS的理解。 ^_^
 
 
PING:
 
ping是一个所有操作系统都支持的简单工具。我么可以利用ping来解析DNS 的A record和PTR record.
 
A记录是将域名映射到IP地址,这个是ping的缺省功能,
上面例子里,ping执行了两个任务。首先是通过DNS查询解析到对应echofloor.com域名的IP地址,之后是成功发送ICMP报文到解析得到的IP地址。
 
当然也存在解析不成功的情况,如下所示。
 
 
ping同样支持PRT记录查询,即是DNS反向查找。
PRT记录是将IP地址解析为对应的DNS域名,可以通过带-a的ping命令实现。
 
如上所示,sportsya.com域名解析为IP地址67.15.181.16。IP地址和域名并没有一对一的映射关系,多个域名可以映射到同一个IP地址,多个IP地址也可以映射到同一个域名。
当然,这一规则也有例外,在后面的MX记录中会有讲解。
 
 
IPCONFIG: DNS cache操作
Windows会将解析到的DNS信息缓存,这个机制可以加速重复的域名访问。从DNS Server返回的DNS Response消息中带有"Time to Live"字段,表示在DNS Cache中缓存的秒数。
 
ipconfig /displaydns 命令会显示DNS Client的缓存信息。
 
上图显示了三条DNS缓存条目,生存期分别是165和22小时。
 
ipconfig /flushdns命令可以手动清除DNS缓存。
 
ipconfig /registerdns 命令为您提供了手动启动在计算机上配置的 DNS 名称和 IP 地址的动态注册的方法。该选项可帮助解答失败的 DNS 名称注册问题或客户端和 DNS 服务器之间的动态更新问题(不需要重新启动客户端)。
在默认情况下,ipconfig /registerdns 命令刷新所有的 DHCP 地址租约并注册由客户端计算机配置和使用的所有相关 DNS 名称。
 
MX记录
如果想要成功的发送和接收邮件,需要用到至少3条DNS记录。
1. A记录 - 也可以称为Host 记录。该记录用于将一个FQDN域名解析为一个IP地址。
2. MX记录 - 邮件交换记录。该记录将决定哪些主机接收指定域的邮件。
3. PTR记录 - 该记录允许反向查找IP地址对应的域名。
 
用于接收邮件的DNS记录
为了接收指定域的邮件比如hotmail.com,MX记录和A记录必须存在于DNS服务器上。邮件服务器在发送邮件到hotmail.com时,将查询DNS服务器有关hotmail.com的MX记录。可以用下面的命令来测试。
 
头两行是DNS服务器的FQDN和IP地址。后面几行是接收hotmail.com邮件的服务器的主机名。Preference表示哪一台主机将被尝试的顺序,越小越优先。
后面的A记录查询mx1.hotmail.com邮件服务器的IP地址。
 
 
用于发送邮件的DNS记录
发送邮件时,除了A记录外,PRT记录被使用。当一台邮件服务器转发邮件时,其发送的EHLO/HELLO消息带有FQDN信息。接收的邮件服务器会做一个检测确保发送者的IP地址匹配EHLO/HELO消息中的FQDN信息的。这个时候,PTR查询会被使用。
 
 
注意:上图我们测试用的IP地址是解析之前mail server的A记录对应的IP地址。这样测试的目的是保证在邮件的发送和接收的过程中,IP地址和邮件服务器域名必须要一一对应或者多对一的关系,也就是一个IP地址或者多个IP地址必须对应到同一个使用的FQDN上。否则可能无法通过上述的邮件服务器的检测。
 
 
 
Dig工具的使用:
51CTO上找到一篇介绍的很好的文章,这里就不再重复了。
大家可以下载并安装dig,链接是http://serghei.net/windows/dig
 
 
Whois工具的使用:
大家可以下载并安装whois,链接是http://serghei.net/windows/dig/
whois,顾名思义就是用于显示域名和相应命名服务器的拥有者。DNS和whois并非一个系统,它们之间也不是同步的。DNS是互联网的基础,DNS垮掉了,whois也能正常工作。whois系统垮掉了,DNS也能正常工作。
 
whois常用命令如下,大家可以试一试。
whois ibm.com
或者
whois ibm.com | more
或者
whois ibm.com | unix2dos | less