阅读本文的基本要求:
1. 对cmd命令的使用有一定基础
2. 对DNS的基本原理及常见概念有一定的了解, 如主机,别名,正向查找区域,反向查找区域等等。
3. 对网络协议有简单的认识, 如TCP/IP的基本配置
Nslookup是由微软发布的一个用于检测和排错的命令行工具。
做为IT管理人员,必须对Windows平台上的NSLOOKUP命令工具的使用,熟练于心, 只有这样才能更好的进行网络配置检查及排错.
既然说NSLOOKUP命令很重要,那它到底能做什么哪?不用着急,我们会在下面一一介绍。
使用NSLOOKUP的先决条件:
操作平台:Windows NT/2000/XP 中均可使用 , 但在 Windows 98 中却没有集成这一个工具
协议:所在计算机必须安装TCP/IP协议
Nslookup有2种使用模式交互模式与非交互模式.
非交互模式:在cmd命令中直接输入命令,返回对应对应的数据
nslookup [-option] [hostname] [server]
交互模式:
仅仅在命令行输入nslookup,随即进入nslookup的交互命令行,退出输入exit
>nslookup
Default Server: nameserver1.domain.com
Address: 10.0.0.1
>
功能介绍及实例说明:
1. 将域名解析成IP地址
格式:
Nslookup 域名
Nslookup set qt=a 域名
如果我们需要指定一台DNS服务器进行域名解析,可以采用如下格式
Nslookup 域名 DNS Server地址
如: nslookup www.163.com 202.96.64.68 (大连DNS server)
有人会说“我使用ping同样可以将域名解析成IP地址,何必需要NSLOOKUP?”。 OK,我们直接以www.163.com为例,分别使用nslookupwww.163.com 与ping www.163.com,查看具体反馈情况,通过一一说明来查看到底有什么区别?
Nslookup www.163.com
截图:
分析:
第一部分:
**can’t find server name for address 202.96.69.38: server failed
Server: ns.lnpta.net.cn
Address: 202.96.64.68
这里出现了2个IP地址,202.96.69.38与202.96.64.68;它们是有什么内在关联?通常计算机会到DNS服务器上解析域名,我们使用IPConfig /all查看它们是否是DNS服务器(本人实验环境ADSL拨号网络),得到的反馈如下
这说明202.96.69.38与202.96.64.68是我当前计算机的2个主次DNS服务器。
客户机先到主DNS Server 202.96.69.38进行连接查询,结果发现异常,连接失败,于是出现了**can’t find server name for address 202.96.69.38: server failed这个提示;按照规则主DNS无法连接,会自动转入次DNS 202.96.64.68进行连接,得到反馈信息:Server: ns.lnpta.net.cn
Address: 202.96.64.68
其中Server: ns.lnpta.net.cn指的是202.96.64.68对应的主机名,(可以简单理解为计算机名,虽然不准确^&^),我们通过这个DNS server为跳板获取了域名信息。
第二部分:
Non-authoritative answer:
Name: www.cache.gslb.netease.com
Non-authoritative answer:翻译成中文为“非权威回答”,什么叫“非权威回答”哪? 这里又要讲到一个小常识, 假设某个DNS server没有域名test.com的记录信息,当有客户端通过它请求获取test.com的域名信息,此DNS
Server会通过迭代递归的方式从test公司实际存储此记录信息的DNS server中获取test.com的域名信息,反馈给发出请求的客户端,同时会把test.com的记录信息放在自身缓存中放置一段时间,当又有客户端请求test.com域名解析时,此DNS server直接从自身缓存中提取返回给客户端,这个回答叫“非权威回答”,简言之凡是从非实际记录存储DNS server中获取的域名解析回答,都叫“非权威回答”
Name: www.cache.gslb.netease.com指的www.163.com 域名实际对应的主机名记录。
第三部分:
Addresses: 61.135.253.17, 61.135.253.18, 61.135.253.10, 61.135.253.11
61.135.253.12, 61.135.253.13, 61.135.253.14, 61.135.253.15, 61.135.253.16
Aliases: www.163.com
Address有多个记录:61.135.253.17/18/16/12.., 通过这个我们知道实际上163.com域名实际对应多个物理主机,用户访问www.163.com时,按照一定规则由其中一台计算机进行应答,这样可以有效的进行域名负载平衡,小心Down机哦。
Aliase: www.163.com : 表示www.163.com 只是DNS记录中的一个别名,方便我们记忆
Ping www.163.com
(小知识ping命令使用ICMP协议)
通过ping 命令,我们看到我们只能获取上面通过nslookup获取的众多IP地址的一个,而且这个IP地址并不固定,同样也无法得知我们是通过哪个DNS 服务器获取的域名解析信息。
Ping 与NSLookup的区别详细到此已经一目了然。
错误类型介绍
1) *** DNS serever can't find “域名” Non-existent domain
这说明DNS Server正常工作,但没有找到对应的DNS记录信息,这时需要登录DNS Server查看正向区域或反向区域,域名对应的 IP 地址记录是否已经添加到了 DNS 的数据库中
2) *** Can't find server name for domain: No response from server
3) *** ***: Non-existent domain
这时,说明测试主机在目前的网络中,根本没有找到可以使用的 DNS 服务器。此时,我们要对整个网络的连通性作全面的检测,并检查 DNS 服务器是否处于正常工作状态,采用逐步排错的方法,找出 DNS 服务不能启动的根源
2. 反向解析,由IP地址,解析域名
格式
Nslookup –qt=ptr 192.168.1.45
或
nslookup回车
set qt=PTR回车
192.168.1.45回车,得出结果
注意qt必须小写
在DNS服务器中存在正向区域与反向区域;正向区域是名称对应IP地址;反向区域是IP地址的反向存储对应名称;通过这个命令,可以确认域名的反向记录有无异常
3. 查询邮件服务器信息
域管理员有时想查看域内邮件服务器的信息, 可以通过如下命令
格式:
Nslookup –qt=mx www.163.com
通过此命令可以查看域对应的邮件服务器的IP列表(如果是多个邮件服务器),及对应基本级别perference, 其中数字越小,优先级别越高。
4. 查看命名服务器NS
NS就是一个域名对应多个服务器,由哪个服务器对域名及附属记录进行解析.
格式:
nslookup –qt=ns www.test.com
5. 查看DNS缓存记录的保存时间
格式
Nslookup –d3 test.com
ttl 即为缓存保留的时间。