`

nslookup工具的使用方法

 
阅读更多

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

  nslookup命令会采用先反向解释获得使用的DNS服务器的名称,由于我这里使用的是一个内部的DNS服务器所以没有正确的反向记录,导致结果的前面几行出错。大家可以不必理会。重点看的是最后的两行这里看到的是www.oray.net的IP地址是61.145.112.212。注意即使www.oray.net的主机没有在线同样能够返回结果。
  如果目标域名是一个别名记录(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的域名。在这个过程中不但缓存了www.oray.net、test.oray.net以及oray.net的MX记录等最终结果。也包括获取的名字服务器等中间结果。隐含的查询了oray.net的NS记录。后面我们还会介绍这个过程。
  指定使用的名字服务器
  在默认情况下nslookup使用的是我们在本机TCP/IP配置中的DNS服务器进行查询,但有时候我们需要指定一个特定的服务器进行查询试验。这时候我们不需要更改本机的TCP/IP配置,只要在命令后面加上指定的服务器IP或者域名就可以了。这个参数在我们对一台指定服务器排错是非常必要的,另外我们可以通过指定服务器直接查询授权服务器的结果避免其他服务器缓存的结果。命令格式如下:
  nslookup [-qt=类型] 目标域名 指定的DNS服务器IP或域名
  我们可看看以下的命令结果: 

      这个命令直接从顶级域名服务器查询oray.net的NS记录。所有的二级域名的NS记录都存放在顶级域名服务器中,这是最权威的解释。注意这次没有非授权结果的提示。对于二级域名的NS记录查询来说这肯定是授权结果。顶级域名服务器的名称是a到j.gtld-servers.net共十台服务器。(gtld是Global Top Level Domain的缩写)。当我们修改域名的NS记录的时候可以通过上述查询知道修改的结果是不是已经在顶级域名服务器上生效。不过即使已经生效也可能不能正常解释,注意我在上一篇文章中提到的缓存时间的问题。
  那么到底缓存多久呢?
  检查域名的缓存时间
  检查域名的缓存时间需要我们使用一个新的参数:-d
  格式如下:
  nslookup –d [其他的参数] 目标域名 [指定的服务器地址]
  请看范例 

  我们忽略其他的看看Got answer后面几行,包括了一个ttl数值。这个数值就是域名记录的生存时间。
  这种查询将整个DNS数据包的所有部分都揭示出来,大家可以看到DNS实际上并不是想象中那么简单的东西。具体的各部分解释大家可以去看看相关的标准文档。需要提醒大家的是一定要找到ANSWER:的内容,其他的东西都不是描述最终的结果。上面就不止一个地方又TTL数值。 
    域名解释过程的模拟
  我们现在来模拟一下一台DNS服务器接到一个不是自己管理的域的域名解释过程。回忆一下第一篇文章的过程:
  首先我们会询问根服务器,然后根服务器会让我们去找对应的顶级服务器。如果查询的是oray.net,就会要求我们去找net的服务器。
  看看下面的范例:
  这里我们让21cn.com的服务器解释www.oicp.net的域名,很显然这台服务器不用有这个域,需要询问根服务器。一般情况下DNS服务器会帮我们完成全部的过程。这种解释方式我们称之为递归解析,为了让大家看到这个过程我家了一个参数让21cn.com的服务器不要这样做。这个参数是-norecurse。这样理论上21cn.com会让我们去问根服务器,不过由于它已经缓存了顶级服务器的记录,所以直接返回了管理net的顶级服务器记录。实际上大部分的查询都不需要从根服务器开始。大家看到了所有的顶级域名服务器的地址都被返回。
  我们随便选择一个在进行查询。 

  这次顶级服务器就返回了oicp.net的服务器地址记录的。然后我们就向这些记录之一进行查询,一定能够得到答案。可能是一个地址、一个CNAME记录或者告诉你不存在。
  nslookup的命令就介绍到这里,其实nslookup还有许多其他参数。不过常用的就俄这么几个,另外如果大家不喜欢命令行方式的话。还有几个图形界面的nslookup功能的工具。不过大家还是需要了解域名解释都有些什么才能够正确使用这些工具

 

参考至:http://bbs.51cto.com/thread-4383-1.html

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    nslookup工具使用nslookup工具使用

    "nslookup工具使用详解" nslookup 工具是 DNS 服务器维护和故障排除的重要工具。它可以指定查询的类型,可以查询 DNS 记录的生存时间,还可以指定使用那个 DNS 服务器进行解释。nslookup 工具的使用方法可以分为三...

    NSLOOKUP 命令使用方法

    NSLOOKUP命令是网络管理员和普通用户常用的诊断工具,用于查询DNS(Domain Name System)信息。这个命令允许用户查看域名到IP地址的映射,以及其他相关的DNS记录,如MX(邮件交换器)记录、NS(名称服务器)记录和...

    nslookup检测工具

    关于nslookup工具的应用详情,及其使用的具体方法。在不同参数下对DNS的追寻,较ping更强大。

    常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup

    下面将详细介绍每个命令的功能和使用方法。 1. **ipconfig**: `ipconfig`命令用于显示系统中TCP/IP协议的配置信息,包括IP地址、子网掩码、默认网关、物理地址(MAC地址)等。例如,`ipconfig /all`会显示所有...

    busybox nslookup工具C源码实现

    nslookup工具C源码实现,当服务器禁ping时,用于探测无线网络是否正常。 编译方法:修改makefile,配置成对应的嵌入式编译工具链。 make clean;make 生成:testnslookup可执行工具。 ./testnslookup -a ...

    nslookup命令.doc

    nslookup 命令是一个强大的 DNS 查找工具,可以指定查询的类型,查询 DNS 记录的生存时间,还可以指定使用那个 DNS 服务器进行解释。nslookup 命令可以帮助我们对 DNS 的故障进行排除,查询 DNS 记录的生存时间,...

    Nslookup命令使用说明1

    1. **基本使用方法**: - **语法**:Nslookup命令的基本格式包括指定服务器或查询主机。例如,`nslookup [-opt ...]` 进入交互模式,`nslookup [-opt ...] - server` 指定特定DNS服务器,`nslookup [-opt ...] host...

    使用nslookup检验与调试DNS解析

    ### 使用nslookup检验与调试DNS解析 #### 一、引言 随着信息技术的发展,网络管理变得日益重要。...无论是对于初学者还是经验丰富的网络管理员而言,熟练掌握`nslookup`的使用方法都是非常有益的。

    史上最全的nslookup命令解析

    nslookup 命令是 DNS 查詢工具,允許用戶查询域名系統(Domain Name System,DNS)的记录。以下是 nslookup 命令的详细解析: 1. 简介 nslookup 命令是 DNS 查詢工具,允許用戶查询域名系統(Domain Name System,...

    nslookup命令详解.pdf

    Nslookup 命令是检测网络中 DNS 服务器是否能正确实现域名解析的命令行工具。它在 WindowsNT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这个工具。Nslookup 必须要安装了 TCP/IP 协议的网络环境之后才能使用...

    nslookup技术

    nslookup(Name Server Lookup)是一种常用的网络工具,用于查询互联网上的域名系统(DNS)信息。它可以帮助用户了解一个域名所对应的IP地址、邮件服务器地址以及其他相关信息。通过nslookup,网络管理员可以诊断DNS...

    nslookup命令

    在Windows操作系统中,nslookup是一个强大的工具,用于查询DNS(Domain Name System)记录,帮助用户解析域名到IP地址或者反向解析IP地址到域名。通过掌握和熟练使用nslookup命令,我们可以更好地理解网络通信背后的...

    在线端口扫描和nslookup

    【在线端口扫描和nslookup】是网络诊断与分析中常用的两种工具,它们在IT行业中扮演着重要角色。端口扫描用于探测目标主机开放的网络端口,而nslookup则用于查询域名系统的记录,帮助我们了解IP地址与域名之间的对应...

    信息安全技术基础:Windows下nslookup命令的使用.doc

    这篇文档将深入探讨nslookup在Windows环境下的使用方法和参数介绍。 nslookup的主要功能是允许用户通过输入主机名来获取其对应的IP地址,反之亦然。它的工作原理是向指定(或默认)的DNS服务器发送查询请求,然后...

    Delphi通过命令行nslookup查询域名MX记录..rar

    本资源“Delphi通过命令行nslookup查询域名MX记录”涉及到的是使用Delphi程序调用系统命令来获取域名的MX(邮件交换)记录。MX记录是DNS(域名系统)的一种特定类型,用于指示电子邮件服务器的位置,确保电子邮件...

    nslookup详细使用教程

    nslookup 是一个强大的网络诊断工具,它主要用于查询域名系统(DNS)的相关信息,帮助用户获取域名对应的IP地址、解析记录以及其他相关数据。本教程将详细解释如何使用nslookup及其主要功能。 1. 直接查询A记录 当...

    信息安全技术基础:Windows下nslookup命令的使用.pptx

    这篇内容将深入讲解nslookup命令的使用方法及其在信息安全中的重要性。 nslookup的基本功能是将主机名转换为IP地址或反之,这是通过与DNS服务器进行通信实现的。例如,输入`nslookup whatis.com.cn`,会返回whatis....

Global site tag (gtag.js) - Google Analytics