使用 NSlookup.exe

24 篇文章 2 订阅
21 篇文章 0 订阅

转贴http://support.microsoft.com/default.aspx/kb/200525/zh-cn

 

概要

Nslookup.exe 是命令行管理工具,用于测试或解决 DNS 服务器问题。此工具是通过“控制面板”与 TCP/IP 协议一起安装的。本文包含使用 Nslo...

<script type="text/javascript"></script>

Nslookup.exe 是命令行管理工具,用于测试或解决 DNS 服务器问题。此工具是通过“控制面板”与 TCP/IP 协议一起安装的。本文包含使用 Nslookup.exe 的若干提示。

更多信息
要使用 Nslookup.exe,请注意以下方面: TCP/IP 协议必须安装在运行 Nslookup.exe 的计算机上。 在 Microsoft TCP/I...

<script type="text/javascript"></script>

要使用 Nslookup.exe,请注意以下方面:
  • TCP/IP 协议必须安装在运行 Nslookup.exe 的计算机上。
  • Microsoft TCP/IP 属性页的 DNS 选项卡的“DNS 服务搜索顺序”字段中必须至少指定一个 DNS 服务器。
  • Nslookup 一直从当前上下文中的名称中抽去后缀。如果无法进行完全合格的名称查询(即,使用尾随点),那么查询将被附加到当前上下文中。例如,当前 DNS 设置是 att.com,并且在 www.microsoft.com 中执行查询,那么第一个查询将作为 www.microsoft.com.att.com 而失败,因为查询是不合格的。这种方式与其他供应商的 Nslookup 方式可能不一致,本文的目的在于阐明 Microsoft Windows NT Nslookup.exe 的处理方式。
  • 如果已经使用 Microsoft TCP/IP 属性DNS 选项卡上定义的“域后缀搜索顺序”(Domain Suffix Search Order )中的搜索列表,将不会发生抽取操作。查询将被附加到列表中指定的域后缀中。要避免使用搜索列表,请始终使用“完全合格的域名称”(即,在名称中添加尾随点)。

Nslookup.exe 可以在两种模式下运行:交互式和非交互式。当需要返回单块数据时,请使用非交互式模式。非交互模式的语法如下:

   nslookup [-option] [hostname] [server]

要在交互模式下启动 Nslookup.exe,只需在命令提示符下输入 nslookup:

   C:/> nslookup
   Default Server:  nameserver1.domain.com
   Address:  10.0.0.1
   >

在命令提示符下输入 help 或 ? 将生成可用的命令列表。在命令提示符下输入的任何内容,如果它不是有效命令,则假设它是主机名,尝试使用默认服务器来解析它。要中断交互命令,请按 CTRL+C。要退出交互模式并返回到命令提示符下,并在命令提示符下输入 exit

以下是帮助输出,其中包含选项的完整列表:

Commands:   (identifiers are shown in uppercase, [] means optional)

 NAME            - print info about the host/domain NAME using default 
                   server
 NAME1 NAME2     - as above, but use NAME2 as server
 help or ?       - print info on common commands
 set OPTION      - set an option

    all                 - print options, current server and host
    [no]debug           - print debugging information
    [no]d2              - print exhaustive debugging information
    [no]defname         - append domain name to each query
    [no]recurse         - ask for recursive answer to query
    [no]search          - use domain search list
    [no]vc              - always use a virtual circuit
    domain=NAME         - set default domain name to NAME
    srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1, N2, 
                          and so on
    root=NAME           - set root server to NAME
    retry=X             - set number of retries to X
    timeout=X           - set initial time-out interval to X seconds
    type=X              - set query type (for example, A, ANY, CNAME, MX, 
                          NS, PTR, SOA, SRV)
    querytype=X         - same as type
    class=X             - set query class (for example, IN (Internet), ANY)
    [no]msxfr           - use MS fast zone transfer
    ixfrver=X           - current version to use in IXFR transfer request

 server NAME     - set default server to NAME, using current default server
 lserver NAME    - set default server to NAME, using initial server
 finger [USER]   - finger the optional NAME at the current default host
 root            - set current default server to the root
 ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to 
                  FILE)

    -a          -  list canonical names and aliases
    -d          -  list all records
    -t TYPE     -  list records of the given type (for example, A, CNAME, 
                   MX, NS, PTR, and so on)

 view FILE       - sort an 'ls' output file and view it with pg
 exit            - exit the program

通过在命令提示符下运行 set 命令,可以在 Nslookup.exe 中设置许多不同的选项。要得到这些选项的完整列表,只需输入 set all。请参见以上内容,在 set 命令下,得到可用选项的打印输出。


查找不同的数据类型

<script type="text/javascript"></script>

要在域名空间中查找不同的数据类型,请在命令提示符下使用 set typeset q[uerytype] 命令。例如,要查询邮件交换器数据,请输入:
   C:/> nslookup
   Default Server:  ns1.domain.com
   Address:  10.0.0.1

   > set q=mx
   > mailhost
   Server:  ns1.domain.com
   Address:  10.0.0.1

   mailhost.domain.com     MX preference = 0, mail exchanger =
                           mailhost.domain.com
   mailhost.domain.com     internet address = 10.0.0.5
   >

第一次查询是查找远程名称,答案是权威的,但随后的查询是非权威的。第一次查询远程主机时,本地 DNS 服务器与作为该域权威的 DNS 服务器取得联系。然后,本地 DNS 服务器缓存该信息,以便从本地服务器缓存中非权威地回答随后的查询。


直接从另一个名称服务器中进行查询

<script type="text/javascript"></script>

要直接查询另一个名称服务器,请使用 serverlserver 命令切换到该名称服务器。 lserver 命令使用本地服务器得到要切换的服务器地址,而 server 命令使用当前默认服务器得到该地址。

例如:
   C:/> nslookup

   Default Server:  nameserver1.domain.com
   Address:  10.0.0.1

   > server 10.0.0.2

   Default Server:  nameserver2.domain.com
   Address:  10.0.0.2
   >

使用 Nslookup.exe 转移整个区域

<script type="text/javascript"></script>

使用 ls 命令,Nslookup 可以用于转移整个区域。查看远程域中的所有主机,这是有用的。 ls 命令的语法如下:

   ls [- a | d | t type] domain [> filename]

不带参数使用 ls 命令将返回所有地址和名称服务器数据的列表。 -a 参数将返回别名和正式名称, -d 将返回所有数据,而 -t 将按类型进行筛选。

例如:

   >ls domain.com
   [nameserver1.domain.com]
    nameserver1.domain.com.    NS     server = ns1.domain.com
    nameserver2.domain.com                 NS     server = ns2.domain.com
    nameserver1                            A      10.0.0.1
    nameserver2                            A      10.0.0.2

   >

在 DNS 服务器中可以按块转移区域,以便只有授权的地址和网络才可以执行此操作。如果设置了区域安全,将返回以下错误消息:
*** Can't list domain example.com .: Query refused

有关其它信息,请参见以下 Microsoft Knowledge Base 文章:
193837  (http://support.microsoft.com/kb/193837/EN-US/ ) Windows NT 4.0 DNS 服务器默认区域安全设置

Nslookup.exe 的疑难解答

<script type="text/javascript"></script>

默认服务器超时
<script type="text/javascript"></script>

当启动 Nslookup.exe 工具时,以下错误可能出现:
*** Can't find server name for address w.x.y.z : Timed out

备注w.x.y.z 是在“DNS 服务搜索顺序”列表中列出的第一个 DNS 服务器。

*** Can't find server name for address 127.0.0.1: Timed out

第一个错误指出不能连接 DNS 服务器,或者该计算机上的服务没有运行。要解决此问题,启动该服务器上的 DNS 服务,或检查可能存在的连接问题。

第二个错误指出在“DNS 服务搜索顺序”列表中还没有定义服务器。要解决此问题,请将有效 DNS 服务器的 IP 地址添加到此列表中。

有关其它信息,请参见以下 Microsoft Knowledge Base 文章:
172060  (http://support.microsoft.com/kb/172060/EN-US/ ) NSLOOKUP:找不到地址 127.0.0.1 的服务器名
启动 Nslookup.exe 时找不到服务器名
<script type="text/javascript"></script>

启动 Nslookup.exe 工具时,可能出现以下错误:

*** Can't find server name for address w.x.y.z: Non-existent domain


当没有名称服务器 IP 地址的 PTR 记录时,会出现此错误。当 Nslookup.exe 启动时,它执行反向搜索,以得到默认服务器的名称。如果没有 PTR 数据,则返回此错误消息。要解决此问题,请确保反向搜索区域存在,并包含名称服务器的 PTR 记录。

有关其它信息,请参见以下 Microsoft Knowledge Base 文章:
172953  (http://support.microsoft.com/kb/172953/EN-US/ ) 如何安装和配置 Microsoft DNS Server
Nslookup 在子域上无法执行
<script type="text/javascript"></script>

当在子域上执行查询或进行区域转移时,Nslookup 可能返回以下错误:

*** ns.domain.com can't find child.domain.com.: Non-existent domain
*** Can't list domain child.domain.com.: Non-existent domain


在 DNS Manager 中,可以在主区域下添加一个新域,这样就创建了一个子域。用这种方法创建子域并不为该域创建一个单独的 db 文件,这样在该域进行查询或在该域进行区域转移时将会产生以上错误。在父域上进行区域转移时将同时列出父域数据和子域数据。要解决此问题,请在 DNS 服务器上为该子域创建一个新主域。

这篇文章中的信息适用于:
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值