Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1758579
  • 博文数量: 226
  • 博客积分: 8233
  • 博客等级: 中将
  • 技术积分: 3514
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-18 22:54
文章分类
文章存档

2019年(3)

2018年(7)

2017年(2)

2012年(8)

2011年(67)

2010年(45)

2009年(94)

分类: WINDOWS

2009-05-12 17:21:31

Nslookup 是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP 中均可使用,但在Windows 98中却没有集成这一个工具。

Nslookup 必须要安装了TCP/IP 协议的网络环境之后才能使用。

现在网络中已经架设好了一台 DNS 服务器,主机名称为 linlin ,它可以把域名 解析为 192.168.0.1 的IP地址,这是我们平时用得比较多的正向解析功能。

检测步骤如下:

在 Windows 2000 中单击“开始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面键入 Nslookup ,“回车”之后即可看到如下结果:

  Server: linlin

  Address: 192.168.0.5

  Name:

  Address: 192.168.0.1

  以上结果显示,正在工作的 DNS 服务器的主机名为 linlin ,它的 IP 地址是192.168.0.5 ,而域名 所对应的 IP 地址为 192.168.0.1 。那么,在检测到 DNS 服务器 linlin 已经能顺利实现正向解析的情况下,它的反向解析是否正常呢? 也就是说,能否把IP地址192.168.0.1反向解析为域名 ?我们在命令提示符C:\>的后面键入 Nslookup 192.168.0.1 ,得到结果如下:

  Server: linlin

  Address: 192.168.0.5

  Name:

  Address: 192.168.0.1

这说明,DNS 服务器 linlin 的反向解析功能也正常。

然而,有的时候,我们键入Nslookup ,却出现如下结果:

Server: linlin

Address: 192.168.0.5

*** linlin can't find : Non-existent domain

这种情况说明网络中DNS服务器 linlin 在工作,却不能实现域名 的正确解析。此时,要分析DNS服务器的配置情况,看是否 这一条域名对应的 IP 地址记录已经添加到了DNS的数据库中。

还有的时候,我们键入Nslookup ,会出现如下结果:

*** Can't find server name for domain: No response from server

*** Can't find : Non-existent domain

这时,说明测试主机在目前的网络中,根本没有找到可以使用的 DNS 服务器。此时,我们要对整个网络的连通性作全面的检测,并检查DNS服务器是否处于正常工作状态,采用逐步排错的方法,找出 DNS 服务不能启动的根源。

配置好DNS服务器,添加了相应的记录之后,只要IP地址保持不变,一般情况下我们就不再需要去维护DNS的数据文件了。不过在确认域名解释正常之 前我们最好是测试一下所有的配置是否正常。许多人会简单地使用ping命令检查一下就算了。不过Ping指令只是一个检查网络联通情况的命令,虽然在输入 的参数是域名的情况下会通过DNS进行查询,但是它只能查询A类型和CNAME类型的记录,而且只会告诉你域名是否存在,其他的信息一概欠奉。所以如果你 需要对DNS的故障进行排错就必须熟练另一个更强大的工具nslookup。这个命令可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用那 个DNS服务器进行解释。

  查询IP地址

  nslookup最简单的用法就是查询域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况。其用法是:

  nslookup 域名

  以下是A记录的返回情况。

 nslookup命令会采用先反向解释获得使用的DNS服务器的名称,由于我这里使用的是一个内部的DNS服务器所以没有正确的反向记录,导致结 果的前面几行出错。大家可以不必理会。重点看的是最后的两行这里看到的是的IP地址是61.145.112.212。注意即使 的主机没有在线同样能够返回结果。

  如果目标域名是一个别名记录(CNAME),nslookup就开始显示出和ping命令不同的地方了,请看查询CNAME记录的结果。由于CNAME和A记录最后都是活的IP地址,所以一般情况下两者是等同看待的,命令的格式相同。

  注意这次nslookup返回了三行信息,前两行显示这是一个CNAME记录,对应的域名和IP地址。最后显示的就是目标域名, 并注明Alias(别名)。如果域名不存在会怎样呢?

  看得懂最后以行的英文吗,不懂没关系记住形状就可以了。如果一个指定类型的域名不存在对应的记录同样也是这种结果。

  查询其他类型的域名

  前面两个命令我们没有加任何参数,所以默认情况下nslookup查询的是A类型的记录。如果我们配置了其他类型的记录希望看到解释是否正常。 这时候ping就无能为力了。比如我们配置了MX记录,但是邮件服务器只能发信不能收信,到底是域名解释问题还是其他的问题Ping命令的检查只能让你误 入歧途。nslookup 这时候可以模拟你的其他遇见服务器进行域名解释的情况。我们需要在nslookup上加上适当的参数。指定查询记录类型的指令格式如下:

  nslookup –qt=类型 目标域名

  注意qt必须小写。

  类型可以是一下字符,不区分大小写:

  A 地址记录(Ipv4)

  AAAA 地址记录(Ipv6)

  AFSDB Andrew文件系统数据库服务器记录(不懂)

  ATMA ATM地址记录(不是自动提款机)

  CNAME 别名记录

  HINFO 硬件配置记录,包括CPU、操作系统信息

  ISDN 域名对应的ISDN号码

  MB 存放指定邮箱的服务器

  MG 邮件组记录

  MINFO 邮件组和邮箱的信息记录

  MR 改名的邮箱记录

  MX 邮件服务器记录

  NS 名字服务器记录

  PTR 反向记录(从IP地址解释域名)

  RP 负责人记录

  RT 路由穿透记录(不懂)

  SRV TCP服务器信息记录(将有大用处)

  TXT 域名对应的文本信息

  X25 域名对应的X.25地址记录

看看oray.net的邮件服务器记录吧。

  看看,nslookup把服务器的名称和地址都给出来了,注意preference就是前面所说的优先级,该数值越小则优先级越高。

  我再看看名字服务器记录是怎么样的。

  看起来和MX记录的格式差不多,一般情况下服务器会同时返回对应的地址。不过也有不返回的情况。

  在这里我希望大家注意一行显示“Non-suthoritativeanswer:”,这一行在前面的例子中都没有显示过。它的出现代表这个结 果是从服务器的缓存中得到的。所以提醒你这不是一个授权的答案。前面我们进行的几次查询过程中192.168.1.104这台机器就采用了我们第一篇文章 中描述的过程查询了oray.net的域名。在这个过程中不但缓存了、test.oray.net以及oray.net的MX记 录等最终结果。也包括获取的名字服务器等中间结果。隐含的查询了oray.net的NS记录。后面我们还会介绍这个过程。

阅读(1614) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~