史上最全的nslookup命令解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
nslookup命令
nslookup命令 (1)
12.1、简介 (2)
12.2、注意事项 (2)
12.3、交互模式 (3)
12.3.1、适用情况 (3)
12.3.2、进入交互模式 (3)
12.3.3、nslookup的子命令 (4)
12.3.3.1、NAME (4)
12.3.3.2、NAME1 NAME2 (4)
12.3.3.3、Help (4)
12.3.3.4、? (4)
12.3.3.5、set子命令 (4)
12.3.3.6、server NAME (10)
12.3.3.7、lserver NAME (11)
12.3.3.8、root (11)
12.3.3.9、ls (11)
12.3.3.10、view FILE (11)
12.3.3.11、exit (11)
12.3.3.12、ctr+C (11)
12.3.3.13、finger (12)
12.3.3.14、set [no]ignore, set [no]ig (12)
12.3.4、示例 (12)
12.3.4.1、将域名解析成IP地址 (12)
12.3.4.2、将“IP地址”反解析成“域名” (12)
12.3.4.3、直接从另一个名称服务器进行查询 (13)
12.3.4.4、使用Nslookup.exe 转移整个区域 (13)
12.4、非交互模式 (14)
12.4.1、适用情况 (14)
12.4.2、语法 (14)
12.4.3、使用示例 (15)
12.4.3.1、将域名解析成IP地址 (15)
12.4.3.2、将“IP地址”反解析成“域名” (15)
12.4.3.3、查询邮件服务器信息 (16)
12.4.3.4、查看命名服务器NS (16)
12.4.3.5、查看域名的缓存时间 (16)
12.4.3.6、正向解析域名,并且设置超时为10秒,并打开高级调试信息 (18)
12.4.3.7、更改缺省查询类型类型为主机信息(HINFO)并且初始超时时间为10
秒 (19)
12.4.3.8、设置域和搜索列表为三个名称,、 和
(19)
12.4.3.9、确定名称是否指定主机、域、或其他实体 (19)
12.5、故障排除 (19)
12.5.1、默认服务器超时 (20)
12.5.2、找不到地址127.0.0.1 的服务器名称 (21)
12.5.3、Nslookup 在子域上无法执行 (21)
12.1、简介
Nslookup(name server lookup)是一个用来查询Internet域名服务器基础结构的信息的程序。
Nslookup有两种模式:交互式和非交互式。
交互模式容许用户查询域名服务器,获取各种关于主机和域名的信息或输出一个域内的主机列表。
非交互模式用于只输出一个主机或域名的名字和要求的信息。
MS-DOS utility that enables a user to look up an IP address of a domain or host on a network. Users who are using earlier versions of Microsoft Windows 95, Windows 98, or Windows ME and need the options available with the nslookup command will need to download an alternative, third-party program.
12.2、注意事项
◆TCP/IP 协议必须安装在运行Nslookup.exe 的计算机上
◆从命令提示符运行IPCONFIG /ALL 命令时,必须至少指定一个DNS 服务器。
◆Nslookup 一直从当前上下文中的名称中抽去后缀。
如果无法进行完全合格的名称查询
(即,使用尾随点),那么查询将被附加到当前上下文中。
例如,当前的DNS 设置是,并且在 中执行查询;第一个查询将作为 而失败,因为查询是不合格的。
这种方式与其他供应商的Nslookup 版本可能不一致,本文的目的在于阐明Microsoft Windows NT Nslookup.exe 的处理方式。
◆如果您已经使用Microsoft TCP/IP 属性页DNS 选项卡上定义的“域后缀搜索顺序”中
的搜索列表,将不会发生抽取操作。
查询将被附加到列表中指定的域后缀中。
若要避免使用搜索列表,请始终使用“完全合格的域名”(即,在名称中添加尾随点)。
◆如果要查找的计算机是IP 地址,并且查询类型为A 或PTR 资源记录类型,则返回计
算机的名称。
如果要查找的计算机是一个名称,并且没有尾部句号,则向该名称添加默认DNS 域名。
该行为依赖于下列set 子命令的状态:domain、srchlist、defname 和search。
◆如果键入连字符(-) 代替要查找的计算机,则命令提示符更改为nslookup 交互式模式。
◆命令行长度必须少于256 个字符。
◆Nslookup 有两种模式:交互式和非交互式。
➢如果仅需要查找单一的数据,请使用非交互式模式。
对于第一个参数,键入要查找的计算机的名称或IP 地址。
对于第二个参数,键入DNS 名称服务器的名称或IP
地址。
如果省略第二个参数,则nslookup 使用默认DNS 名称服务器。
➢如果需要查找多个数据,可以使用交互式模式。
为第一个参数键入连字符(-),为第二个参数键入DNS 名称服务器的名称或IP 地址。
或者,省略两个参数,则
nslookup 使用默认DNS 名称服务器。
下面是一些有关在交互式模式下工作的提示:
●☆要随时中断交互式命令,请按Ctrl+B。
●☆要退出,请键入exit。
◆要将内置命令当作计算机名,请在该命令前面放置转义字符(\)。
◆将无法识别的命令解释为计算机名。
◆任何合法有效的域名都必须有至少一个主的名字服务器。
当主名字服务器失效时,才会
使用辅助名字服务器。
这里的失效指服务器没有响应
◆一个有效的DNS服务器必须在注册机构注册,这样才可以进行区域复制。
所谓区域复
制,就是把自己的记录定期同步到其他服务器上。
当DNS接收到非法DNS发送的区域复制信息,会将信息丢弃。
◆DNS有两种,一是普通DNS,一是根DNS,根DNS不能设置转发查询,也就是说根DNS
不能主动向其他DNS发送查询请求。
如果内部网络的DNS被设置为根DNS,则将不能接收网外的合法域名查询
◆
12.3、交互模式
12.3.1、适用情况
如果需要查找多块数据,可以使用交互式模式。
12.3.2、进入交互模式
若要在交互模式下启动Nslookup.exe,只需在命令提示符处键入“nslookup”:
C:\> nslookup
Default Server:
Address: 10.0.0.1
>
12.3.3、nslookup的子命令
12.3.3.1、NAME
打印有关事宜默认服务器的主机/域NAME的信息12.3.3.2、NAME1 NAME2
同上,但将NAME2作为服务器
12.3.3.3、Help
打印有关常用命令的信息
12.3.3.4、?
打印有关常用命令的信息
12.3.3.5、set子命令
12.3.3.5.1、set all
列出nslookup工具的常用选项的当前设置值。
12.3.3.5.2、set [no]debug, set [no]deb
打开调试模式。
缺省值是nodebug (关闭)。
如果set debug,则会进入到调试模式,查询过程中会显示完整的响应包以及其中的交互包。
set nodebug
set debug
12.3.3.5.3、set [no]d2
开启了高级调试模式,会输出很多nslookup内部工作的信息,包括了许多函数调用信息。
缺省值是nod2(关闭)。
12.3.3.5.4、set [no]defname , set [no]def
将域名附加到每个查询(追加缺省域名到单一的组成部分的查询请求(不包含句点的请求)。
缺省值是defname (追加))
将默认的域名系统(DNS) 域名附加到单个组件查找请求。
单个组件是指不包含任何复合的组件。
12.3.3.5.5、set [no]recurse, set [no]rec
询问查询的递归应答(如果没有信息则通知名称服务器查询其他服务器。
缺省值是recurse。
)
12.3.3.5.6、set [no]search, set [no]sea
向请求追加DNS 域搜索列表中的域名系统(DNS) 域名,直到收到应答为止。
该命令应用于如下情况:当设置和查找请求包含至少一个时期,但不是以跟踪期结束时。
如果设置了set search,那么当查询的字串中只包含一个句点,且结尾非句点时,nslookup会将domain设置的域追加到查询字串的尾部来尝试查询。
12.3.3.5.7、set [no]vc, set [no]v
当发送请求到服务器始终使用虚拟电路。
缺省值是novc(没有虚拟电路)。
12.3.3.5.8、set domain=Name, set do=Name
将默认域名设置为Name。
这样的话,对于所有不包含“.”的查询请求,都会自动在尾部追查此域。
缺省域名追加到查询请求,取决于defname 和search 选项的状态。
如果搜索列表在其名
称中至少包含两部分则域搜索列表包含缺省域的父域。
例如,如果缺省域是,搜索列表是 和。
使用set srchlist 命令指定不同列表。
使用set all 命令显示列表。
domain=Name 选项的缺省值是在系统的hostname、/etc/resolv.conf、或LOCALDOMAIN 文件指定的值。
恢复域名的默认设置:set domain=.
12.3.3.5.9、set srchlist=Name1/Name2/...,
set srchl=Name1/Name2/...,
更改缺省域名为Name1 参数指定的值,并且更改域搜索列表为Name1、Name2......参数指定的名称。
可以指定由斜杠分开的六个名称的最大值。
使用set all 命令显示名称列表。
缺省值是在系统的hostname、/etc/resolv.conf 或LOCALDOMAIN 文件指定的值。
注:该命令覆盖缺省域名和set domain 命令选项的搜索列表。
12.3.3.5.10、set root=NAME, set ro=NAME
将根服务器设置为NAME,缺省值是。
12.3.3.5.11、set retry=X , set ret=X
将重试次数设置为X(当请求的应答没有在set timeout 命令指定的时间帧之内接收,则超时周期加倍,请求重新发送。
该子命令控制超时之前请求发送的次数。
缺省值是4。
)
12.3.3.5.12、set timeout=X , set ti=X
将初始超时间隔设置为X秒,缺省值是5 秒。
12.3.3.5.13、set type=X , set ty=X
设置查询类型(如A、AAAA、A+AAAA、ANY、CNAME、MX、NS、PTR、SOA和SRV)缺省值是A。
其具体类型参看(12.3.3.5.14、set querytype=X)。
12.3.3.5.14、set querytype=X,set qt=X, set q=X
12.3.3.5.15、set class=X, set cl=X
可以更改查询类,该类别指定信息的协议组。
而不同的类设定了不同的协议族。
IN:Internet类(默认),CH:Chaos类,HS:Hesiod类,ANY 指定以前列出的任何通配符。
一般我们最长使用IN。
而Hesiod之前仅在M.I.T(Massachusetts Institute of Technology,即麻省理工学院)范围内使用,现在甚至已经无人使用。
而Chaos也几乎灭绝,曾经BIND套装用Chaos来协助检查版本号信息。
12.3.3.5.16、set [no]msxfr
使用MS快速区域传送
12.3.3.5.17、set ixfrver=X
用于IXFR传送请求的当前版本
12.3.3.5.18、set port=X, set po=X
众所周知,DNS默认的服务端口是53。
当某些特殊情况,此端口改变时,可以通过本命令来设置。
12.3.3.6、server NAME
将默认服务器更改到指定的域名系统(DNS) 域。
,使用当前默认服务器
12.3.3.7、lserver NAME
将默认服务器设置为NAME,使用初始服务器
12.3.3.8、root
——将默认的服务器更改为域名系统(DNS) 域名空间的根服务器。
通常使用 名称服务器。
该命令是lserver 的同义词。
可以使用set root 命令更改根服务器的名称。
12.3.3.9、ls
ls [opt] DOMAIN [> FILE]
ls [opt] DOMAIN [> >FILE]
为指定的Domain 列出可获得的信息,有选择的创建或追加输出到FileName 参数指定的文件。
缺省输出包含主机名和它们的因特网地址。
列出DOMAIN中的地址(可选:输出到文件FILE)
12.3.3.10、view FILE
对ls输出文件排序,并使用pg查看
12.3.3.11、exit
退出nslookup的交互模式。
12.3.3.12、ctr+C
中断交互式命令。
12.3.3.13、finger
finger [Name] [> FileName]
finger [Name] [>> FileName]
在当前主机连接finger 守护程序服务器。
当前一个查询主机成功并且返回地址信息,如返回set querytype=A 命令时,定义当前主机。
Name 参数指定用户名,它是可选的。
> 和>> 字符可以用来重定向输出到新建或现有的文件。
12.3.3.14、set [no]ignore, set [no]ig
忽略数据包截断错误。
12.3.4、示例
12.3.4.1、将域名解析成IP地址
格式:
Nslookup 回车
Set qt=A 回车
要解析的域名
12.3.4.2、将“IP地址”反解析成“域名”
格式:
Nslookup 回车
Set qt=ptr 回车
要解析的IP地址
注意:qt必须小写
Name后边的就是解析出来的域名。
12.3.4.3、直接从另一个名称服务器进行查询
若要直接查询另一个名称服务器,请使用server 或lserver 命令切换到该名称服务器。
lserver 命令使用本地服务器获取切换目标服务器的地址,而server 命令则使用当前的默认服务器获取该地址。
12.3.4.4、使用Nslookup.exe 转移整个区域
通过使用ls 命令,Nslookup 可用于转移整个区域。
若要查看远程域中的所有主机,这将很有用。
ls 命令的语法如下:
ls [- a | d | t type] domain [> filename]
不带参数使用ls 命令将返回所有地址和名称服务器数据的列表。
-a 开关将返回别名和规范名称,-d 将返回所有数据,而-t 将按类型进行筛选。
在DNS 服务器中可以按块转移区域,以便只有授权的地址和网络才可以执行此操作。
如果已设置区域安全,则将返回以下错误:
*** Can't list domain .:Query Refused
12.4、非交互模式
12.4.1、适用情况
如果仅需要查找一块数据,请使用非交互式模式。
对于第一个参数,键入要查找的计算机的名称或IP 地址。
对于第二个参数,键入DNS 名称服务器的名称或IP 地址。
如果省略第二个参数,nslookup 使用默认DNS 名称服务器。
12.4.2、语法
nslookup [-option] [hostname] [server]
参数:
-option :将一个或多个nslookup 子命令指定为命令行选项。
可以执行set子命令下的所有命令,请参看【12.3.3.5、set子命令】。
格式:-子命令1 -子命令2 -子命令3 ...........
注意:子命令之间的"-"必须存在,且以" "(空格)隔开。
示例:nslookup -qt=A -timeout=7
Hostname :果未指定其它服务器,就使用当前默认DNS 名称服务器查阅
Hostname的信息。
要查找不在当前DNS 域的计算机,请在名称上
附加句点。
Server :指定将该服务器作为DNS 名称服务器使用。
如果省略了Server,将使用默认的DNS 名称服务器。
12.4.3、使用示例
12.4.3.1、将域名解析成IP地址
格式:
Nslookup -qt=a 域名
Nslookup 域名指定进行域名解析的DNS服务器地址
示例:
12.4.3.2、将“IP地址”反解析成“域名”
格式:
Nslookup –qt=ptr IP地址
12.4.3.3、查询邮件服务器信息
域管理员有时想查看域内邮件服务器的信息, 可以通过如下命令
格式:
12.4.3.4、查看命名服务器NS
NS就是一个域名对应多个服务器,由哪个服务器对域名及附属记录进行解析. 格式:
12.4.3.5、查看域名的缓存时间
格式:nslookup -d[其他参数] 目标域名
我们忽略其他的,看看Got answer后面几行,包括了一个ttl数值。
这个数值就是域名记录的生存时间。
12.4.3.6、正向解析域名,并且设置超时为10秒,并打开高级调试信息
格式:nslookup -qt=A -timeout=10 -d2 域名
12.4.3.7、更改缺省查询类型类型为主机信息(HINFO)并且初始超时时间为10 秒
nslookup -query=hinfo -timeout=10
12.4.3.8、设置域和搜索列表为三个名称,、 和
nslookup -set srchlist=//
该命令覆盖缺省域名和set domain 命令的搜索列表。
使用set all 命令显示列表。
12.4.3.9、确定名称是否指定主机、域、或其他实体
nslookup -querytype=ANY
nslookup 命令返回有关名称 的所有可用的信息,包括权限语句(SOA)、名称服务器、邮件交换器和主机因特网地址信息,如下:
Server: Address: 9.3.199.2 origin = mail addr = serial=1993081210,refresh=3600,retry=300,expire=604800, min=86400 nameserver = nameserver = nameserver = nameserver = nameserver = nameserver = preference = 10, mail exchanger = inet address = 129.35.208.98 inet address = 129.35.17.2 inet address = 129.35.208.99 inet address = 9.3.199.2 inet address = 129.35.49.2 inet address = 129.35.17.68 inet address = 129.35.208.98
12.5、故障排除
12.5.1、默认服务器超时
启动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 知识库文章:172060
(/kb/172060/zh-cn/ )
12.5.2、找不到地址127.0.0.1 的服务器名称
启动Nslookup.exe 时,找不到服务器名称
启动Nslookup.exe 实用程序时,可能会出现以下错误:
*** Can't find server name for address w.x.y.z:Non-existent domain
如果没有名称服务器IP 地址的PTR 记录,则会出现此错误。
启动Nslookup.exe 时,它会执行反向搜索,以获取默认服务器的名称。
如果不存在PTR 数据,则会返回此错误消息。
若要更正此问题,请确保存在反向搜索区域且其中包含名称服务器的PTR 记录。
有关其他信息,请参阅以下Microsoft 知识库文章:172953
(/kb/172953/zh-cn/ )
如何安装和配置Microsoft DNS 服务器
12.5.3、Nslookup 在子域上无法执行
在子域上进行查询或执行区域转移时,Nslookup 可能返回以下错误:
*** can't find .:Non-existent domain
*** Can't list domain .:Non-existent domain
在DNS 管理器中,可以在主区域下添加一个新域,这样就创建了一个子域。
以这种方式创建子域不会为该域创建单独的db 文件,因此查询该域或在其中进行区域转移将会生成以上错误。
在父域上运行区域转移将同时列出父域和子域的数据。
若要解决此问题,请在DNS 服务器上为该子域创建新的主区域。