nslookup命令详解【转】
转自:http://blog.chinaunix.net/uid-28933499-id-3750357.html
NSlookup命令的用法
用了域名服务器后,经常要查询域名的解析情况,nslookup是常用工具之一,无论是linux或者是window下都有这个工具,用好它对平常的域名解析情况,或者对域名服务器的维护都有帮助。
用途
查询因特网域名服务器。
语法
nslookup [ -Option ... ] [ Host ] [ -NameServer ]
描述
nslookup 命令以两种方式查询域名服务器。交互式模式允许查询名称服务器获得有关不同主机和域的信息,或打印域中主机列表。在非交互式模式,打印指定的主机或域的名称和请求的信息。
当没有给出参数时进入交互式模式,或者当第一个参数是 -(减号)并且第二个是主机名或名称服务器的因特网地址时,nslookup 命令进入交互式模式。当没有给出参数时,命令查询缺省名称服务器。-(减号)调用可选的子命令(-Option... 变量)。除了 set 命令,这些命令在命令行指定并且必须在nslookup 命令参数之前。set 子命令选项能在用户主目录的 .nslookuprc 文件有选择的指定。
当第一个参数是正在搜索的主机的名称或地址,nslookup 命令在非交互式模式下执行。在此情况下,主机名或名称服务器的因特网地址是可选的。
非交互式命令使用缺省名称服务器或由 NameServer 参数指定的名称服务器为指定的主机搜索信息。如果Host 参数指定因特网地址并且查询类型是 A 或 PTR,则返回主机名称。如果 Host 参数指定名称并且名称没有结尾句点,缺省的域名追加到名称后。不在当前域中查找主机,在名称后追加单一的句点。
注:如果在用户主目录的 .nslookuprc 文件指定,set 子命令的domain、srchlist、defname 和 search 选项能影响非交互式命令的行为。
子命令
下列命令可以随时输入 Ctrl-C 按键顺序终止。要退出,请输入 Ctrl-D 按键顺序或输入 exit。将内置命令作为主机名,在它之前带转义字符 \。不能标识的命令解释为主机名。
下列子命令由 nslookup 命令标识:
finger [Name] [> FileName] |
在当前主机连接 finger 守护程序服务器。当前一个查询主机成功并且返回地址信息,如返回 set querytype=A 命令时,定义当前主机。Name 参数指定用户名,它是可选的。> 和 >> 字符可以用来重定向输出到新建或现有的文件。 |
server Domain |
更改缺省服务器为 Domain 参数指定的值。lserver 子命令使用初始服务器查询有关域的信息。server 子命令使用当前的缺省服务器。如果未发现授权应答,则任何可能有应答的附加服务器名返回。 |
root |
更改缺省服务器为 root 域名空间服务器。当前,使用主机 ns.nic.ddn.mil 。root 服务器名可以使用 set root 子命令更改。(root 子命令与 lserver ns.nic.ddn.mil子命令同义)。 |
ls [Option] Domain [> FileName] |
为指定的 Domain 列出可获得的信息,有选择的创建或追加输出到 FileName 参数指定的文件。缺省输出包含主机名和它们的因特网地址。Option 参数的可能值是: -t QueryType 列出指定类型的所有记录。缺省记录类型是 A。有效类型是: A 主机的因特网地址 CNAME 为别名规范名称 HINFO 主机 CPU 和操作系统 KEY 安全性密钥记录 MINFO 邮箱或邮件列表信息 MX 邮件交换器 NS 指定区域的名称服务器 PTR 如果查询是因特网地址则指向主机名;否则,指向其他信息 SIG 特征符记录 SOA 域的“start-of-authority”信息 TXT 文本信息 UINFO 用户信息 WKS 支持众所周知的服务 -a 列出域中主机的别名(与 -t CNAME 选项相同)。 -d 列出域中所有记录(与 -t ANY 选项同义)。 -h 列出域中 CPU 和操作系统信息(与 -t HINFO 选项同义)。 -s 列出域中众所周知的主机服务(与 -t WKS 选项同义)。
|
view FileName |
将以前 ls 命令的输出排序并且使用 more 命令将其列出。 |
help |
|
? |
显示命令的简要总结。 |
exit |
退出程序。 |
set Keyword[=Value] |
改变影响查询的状态信息。该命令可以在命令行指定或有选择的在用户主目录的.nslookuprc 文件指定。有效的关键字是: all 显示频繁地使用的选项要设置的当前值。有关当前缺省服务器和主机的信息也显示。 class=Value 更改查询类为下列之一。类指定信息的协议组。缺省值是 IN。 IN Internet 类 CHAOS Chaos 类 HESIOD MIT Althena Hesiod 类 ANY 通配符(上面任意之一) [no]debug 打开调试模式。缺省值是 nodebug (关闭)。 [no]d2 打开全面调试模式。缺省值是 nod2(关闭)。 domain=Name 更改缺省域名为 Name 参数指定的域名。缺省域名追加到查询请求,取决于defname 和 search 选项的状态。如果搜索列表在其名称中至少包含两部分则域搜索列表包含缺省域的父域。例如,如果缺省域是 CC.Berkeley.EDU,搜索列表是CC.Berkeley.EDU 和 Berkeley.EDU。使用 set srchlist 命令指定不同列表。使用 setall 命令显示列表。domain=Name 选项的缺省值是在系统的hostname、/etc/resolv.conf、或 LOCALDOMAIN 文件指定的值。 srchlst=Name1/Name2/... 更改缺省域名为 Name1 参数指定的值,并且更改域搜索列表为Name1、Name2......参数指定的名称。可以指定由斜杠分开的六个名称的最大值。使用 set all 命令显示名称列表。缺省值是在系统的 hostname、/etc/resolv.conf或 LOCALDOMAIN 文件指定的值。
[no]defname 追加缺省域名到单一的组成部分的查询请求(不包含句点的请求)。缺省值是defname (追加)。 [no]search 如果查询请求包含结尾句点以外的句点,追加域搜索列表中的域名到请求直到接收到应答。缺省值是 search。 port=Value 更改缺省 TCP/UDP 名称服务器端口为 Value 参数指定的数。缺省值是 53。 querytype=Value |
type=Value |
更改信息查询为下列值之一。缺省值是 A。 A 主机的因特网地址 ANY 任何可用的选项。 CNAME 为别名规范名称 HINFO 主机 CPU 和操作系统 KEY 安全性密钥记录 MINFO 邮箱或邮件列表信息 MX 邮件交换器 NS 为指定区域的命名服务器 PTR 如果查询因特网地址则指向主机名;否则,指向其他信息 SIG 特征符记录 SOA 域的“start-of-authority”信息 TXT 文本信息 UINFO 用户信息 WKS 支持众所周知的服务 [no]recurse 如果没有信息则通知名称服务器查询其他服务器。缺省值是 recurse。 retry=Number 设置请求企图重试次数值为 Number 参数指定的值。当请求的应答没有在 settimeout 命令指定的时间帧之内接收,则超时周期加倍,请求重新发送。该子命令控制超时之前请求发送的次数。缺省值是 4。 root=Host 更改 root 服务器名称为 Host 参数指定的名称。缺省值是 ns.nic.ddn.mil。 timeout=Number 更改初始等待应答超时间隔为 Number 参数指定的秒数。缺省值是 5 秒。 [no]vc 当发送请求到服务器使用虚拟电路。缺省值是 novc(没有虚拟电路)。 [no]ignoretc 忽略数据包截断错误。缺省值是 noignoretc(不忽略)。 |
示例
更改缺省查询类型类型为主机信息(HINFO)并且初始超时时间为 10 秒,请输入:
nslookup -query=hinfo -timeout=10
设置域和搜索列表为三个名称,lcs.MIT.EDU、ai.MIT.EDU 和 MIT.EDU,请输入:
nslookup -set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
该命令覆盖缺省域名和 set domain 命令的搜索列表。使用 set all 命令显示列表。
确定名称是否指定主机、域、或其他实体,请输入:
nslookup -querytype=ANY austin.ibm.com
nslookup 命令返回有关名称 austin.ibm.com 的所有可用的信息,包括权限语句(SOA)、名称服务器、邮件交换器和主机因特网地址信息,如下:
Server: benames.austin.ibm.comAddress: 9.3.199.2 austin.ibm.com
origin = ausname1.austin.ibm.com mail addr = brian.chriss.austin.ibm.com
serial=1993081210,refresh=3600,retry=300,expire=604800, min=86400
austin.ibm.com nameserver = ausname1.austin.ibm.com austin.ibm.com
nameserver = bb3names.austin.ibm.com austin.ibm.com nameserver =
benames.austin.ibm.com austin.ibm.com nameserver =
b45names.austin.ibm.com austin.ibm.com nameserver =
bbcnames.austin.ibm.com austin.ibm.com nameserver =
netmail.austin.ibm.com austin.ibm.com preference = 10, mail exchanger =
netmail.austin.ibm.com austin.ibm.com inet address = 129.35.208.98
ausname1.austin.ibm.com inet address = 129.35.17.2
bb3names.austin.ibm.com inet address = 129.35.208.99
benames.austin.ibm.com inet address = 9.3.199.2 b45names.austin.ibm.com
inet address = 129.35.49.2 bbcnames.austin.ibm.com inet address =
129.35.17.68 netmail.austin.ibm.com inet address = 129.35.208.98要在 opus 主机上执行非交互式查询,请输入:
nslookup opus
nslookup 命令与 host 命令的应答相同。命令返回域名和 opus 主机的因特网地址,如下:
Name: opus.austin.ibm.com Address: 129.35.129.223
如果主机 opus 已经是名称服务器(以空 /etc/resolv.conf 文件正在运行 named 守护程序的主机),下列信息将会显示:
Server: loopback Address: 0.0.0.0
退出状态
当查询请求不成功,则 nslookup 命令返回下列错误消息之一:
Timed Out |
表示服务器在超出指定的重试次数后不响应请求。 |
No Response from Server |
表示名称服务器不在服务器上运行。 |
No Records |
表示服务器没有主机的指定查询类型的资源记录,即使主机名有效。 |
Non-Existent Domain |
表示主机或域名不存在。 |
Connection Refused |
表示在查询时,不能连接到名称或远程用户信息服务命令服务器。该错误是与 ls 和 finger 请求有关的典型错误。 |
Network Is Unreachable |
表示在查询时,不能连接到名称或远程用户信息服务命令服务器。该错误是与 ls 和 finger 请求有关的典型错误。 |
Server Failure |
表示名称服务器遇到内部矛盾并且不能返回有效的应答。 |
Refused |
表示名称服务器拒绝请求服务。 |
Format Error |
表示名称服务器拒绝数据包请求因为格式不正确。 |
文件
/usr/bin/nslookup |
包含 nslookup 命令。 |
/etc/resolv.conf |
包含初始域名和名称服务器地址。 |
$HOME/.nslookuprc |
包含用户的初始选项。 |
HOSTALIASES |
包含主机别名。 |
LOCALDOMAIN |
包含覆盖的缺省域。 |
***值得提醒的是命令行参数中的[- name server]上的-后要有一空格,实际上 -
是第一个参数,曾经许多人都觉得这个参数不对,不能在命令行指定域名服务器,实际上都是这个原因。这个用法对检查某个域名服务器的解析是否正确很有用。比如三个运营商在当地的域名解析是否正确,就不用采用每次都修改电脑的域名服务器来实现,只要在命令行加上这个参数就行。
***nslookup不能查询dns的递归或者迭代,功能也比dig弱。
nslookup命令详解【转】的更多相关文章
- nslookup命令详解
Nslookup 是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具.它在 Windows NT/2000/XP(在之后的windows系统也都可以用的,比如win7,win8等) 中均可 ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Top 命令详解
Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...
随机推荐
- PHP判断时关于null,0,true,flase的值
<?php// $wh = 0; //等于整数0,等于字符串'0',等于空字符串,等于空格字符串, 等于空(null),等于字符串('null')// $wh = '0'; //=>等于整 ...
- 【java】A local class access to local variables
内部类参考 A local class has access to local variables. However, a local class can only access local vari ...
- windows下CMD命令大全(仅供参考)
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本)chcp 修改默认字符集chcp 936默认中文chcp 650011. appwiz.c ...
- psutil模块的基础使用
注:Python并没有自带psutil模块,需要自己去安装 安装psutil模块 pip install psutilorpip3 install psutil 一.导入模块 import psuti ...
- 《鸟哥的Linux私房菜》学习笔记(6)——管道及IO重定向
一.标准I/O 标准输入:也可以叫STDIN,用0来标识,通常是键盘 标准输出:也 ...
- UVa 1455 Kingdom 线段树 并查集
题意: 平面上有\(n\)个点,有一种操作和一种查询: \(road \, A \, B\):在\(a\),\(b\)两点之间加一条边 \(line C\):询问直线\(y=C\)经过的连通分量的个数 ...
- 朴素贝叶斯python小样本实例
朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感适用数据类型:标称型数据朴素贝叶斯决策理论的核心思想:选择具有最高概率的决策朴素贝叶斯的一般过程(1) ...
- idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告
idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告 https://my.oschina.net/viakiba/blog/1838296 https://www.cnbl ...
- Python学习-day15-JavaScript
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...
- Leetcode 521.最长特殊序列I
最长特殊序列 I 给定两个字符串,你需要从这两个字符串中找出最长的特殊序列.最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列). 子序列可以通过删去字符串中的某些字符 ...