nslookup 包含在那个包中_nslookup命令详解

Nslookup 是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。它在 Windows NT/2000/XP(在之后的windows系统也都可以用的,比如win7,win8等) 中均可使用,但在Windows 98中却没有集成这一个工具。

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

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

检测步骤如下:

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

Server: linlin

Address: 192.168.0.5

Name: www.company.com

Address: 192.168.0.1

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

Server: linlin

Address: 192.168.0.5

Name: www.company.com

Address: 192.168.0.1

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

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

Server: linlin

Address: 192.168.0.5

*** linlin can't find www.company.com: Non-existent domain

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

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

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

*** Can't find www.company.com : 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服务器所以没有正确的反向记录,导致结果的前面几行出错。大家可以不必理会。重点看的是最后的两行这里看到的是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://www.mzph.cn/news/333838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java ee 8 api_Java EE 8安全性API:概述

java ee 8 api新的安全性API Java EE 8中添加的最重要的一项新功能可能就是新的安全性API。 此新API的主要动机是简化,标准化和现代化跨容器和实现处理安全性问题的方式。 他们做得很好。 由于三个新的注释使web.xml文件声明多余,Web身份验证的配置已实…

Linux 命令之 ln -- 为文件创建链接

文章目录一、命令介绍(一)符号链接的特点(二)硬链接的特点二、命令格式三、常用选项四、命令示例(一)创建硬链接(二)创建软链接一、命令介绍 Linux 具有为一个文件起多个名字的功能…

计算机网络笔记----概述

参考计算机网络自顶向下第七版和计算机网络谢希仁第七版计算机网络和Internet什么是互联网?具体构成描述互联网服务提供商(ISP)服务描述什么是协议?协议分层应用层(最高层)传输层(运输层)网络层:数据链路层和局域网物理层网络边缘接入网家庭接…

prima evb_用Priam设置Cassandra

prima evb前面已经解释了如何在AWS中设置Cassandra 。 所描述的设置有效,但在某些情况下可能还不够。 例如,它不能为您提供制作和还原备份的简便方法,添加新节点依赖于自定义python脚本,该脚本会随机选择一个种子。 因此&#xf…

Java 9:Process API的增强

Java 9对Process API进行了各种改进,用于控制和管理操作系统进程。 获取有关流程的信息 有一个新的ProcessHandle类,提供了进程的pid,父级和后代,以及有关开始时间和累积CPU时间的信息。 jshell> Process p new ProcessBui…

HTTP的操作过程

HTTP的操作过程 HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。HTTP是面向事务(一系列的信息交换,不可分割的整体)的应用层协议,它是万维网上能够可靠…

什么是绝对值?

绝对值是指一个数在数轴上所对应点到原点的距离,用 | | 来表示。|b-a| 或 |a-b| 表示数轴上“表示a的点”和“表示b的点”的距离。 正数 x 的绝对值表达式:| x | x,负数 x 的绝对值表达式:| x | -x,0 绝对值表达式&…

viewer vue 文档_vue中使用viewerjs

项目创建vue init webpack mytest001安装viewerjsnpm install viewerjs删掉生成的项目里面的helloWord.vue 修改路由 创建一个index.vueindex.vue代码:import Viewer from viewerjs;import viewerjs/dist/viewer.css;export default {name: HelloWorld,data() {return {imgArr:…

junit junit_JSON的JUnit Hamcrest Matcher

junit junit这篇文章展示了如何编写JUnit测试来检查对象是否与JSON字符串匹配。 如果您要实现REST服务并想测试您的服务是否产生了预期的JSON响应,那么这非常重要。 JSONassert是比较JSON对象的有用库。 首先,您必须将Java对象转换为JSON字符串&#xf…

HTTP报文格式

HTTP报文格式 HTTP规范[RFC 1945;RFC 26167;RFC 7540:包含了对HTTP 报文格式的定义。HTTP 报文有两种:请求报文和响应报文。 HTTP请求报文 从客户向服务器发送请求报文。 结构如图: 开始行 第一行为开始行也叫做…

什么是公倍数

公倍数(common multiple)是指在两个或两个以上的自然数中,如果它们有相同的倍数,这些倍数就是它们的公倍数。公倍数中最小的,就称为这些整数的最小公倍数(lowest common multiple)。 A和B,A/BC&#xff0c…

代理服务器

代理服务器 是一种网络实体,又称万维网高速缓存。代理服务器把最近的一些请求和响应暂存在本地磁盘中。 当新请求到达时, 若代理服务器发现这个请求与暂时存放的请求相同, 就返回暂存的响应, 而不需要按URL的地址再次去互联网访问…

json解析对象时指定解析_不解析,使用解析对象

json解析对象时指定解析将面向对象的后端与外部系统集成的传统方式是通过数据传输对象 ,这些对象在外出之前先序列化为JSON,然后在返回时反序列化。 这种方法很流行,而且是错误的。 序列化部分应该由打印机代替,我在前面已经解释过…

centos7设置键盘类型_CentOS 7 系统区域(语言)和键盘设置

即使是在window中,平常说的语言设置这一项也是归类为系统区域,CentOS可以通过修改/etc/locale.conf配置文件或使用localectl命令来进行设置,一般在安装时设置为默认选择(英文、美式键盘)即可。 修改locale.conf [root@localhost ~]#vim /etc/locale.conf LANG="en_US.U…

什么是公约数/公因数

公约数,亦称“公因数”。它是指能同时整除几个整数的数。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。对任意的若干个正整数,1总是它们的公因数。 例如: 12 和 15…

vue对象拼接_vue 俩个数组对象合并成一个

情况是这样的后端给了几个接口数据 我合成一个 前端小白 勿喷 data(){return{list:[{date:20201, mc : 1 }, {date:20202, mc : 2 }, {date:20203, mc : 3 }, {date:20204, mc : 4, } ], newlist:[ {date:20201, mc : 6, age:12 }, {date:20202, mc : 3, age:12 }, {date:20203…

jdk8 获取上一个月时间_JDK 10:FutureTask获取一个toString()

jdk8 获取上一个月时间我已经很长时间了,对于大多数具有独特属性的Java类,开发人员应该花些时间重写Object.toString() ,即使它仅是由IDE生成的实现或使用诸如Apache之类的库类来实现Commons Lang的ToStringBuilder 。…

什么是质数

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。…

计算机网络笔记----应用层

应用层应用层协议原理网络应用程序的体系结构客户-服务器体系结构P2P体系结构进程通信进程与计算机网络之间的接口进程寻址可供应用程序使用的运输服务可靠数据传输吞吐量定时安全性因特网提供的运输服务TCP服务面向连接的服务可靠的数据传送服务拥塞控制TCP安全UDP服务应用层协…

js 导出pdf上传至oss_js实现oss文件上传及一些问题

关于兼容性问题,ie8以下的可以使用4.x的版本一、引入sdk和jq二、基本配置var client newOSS.Wrapper({region:,accessKeyId:‘,accessKeySecret:,bucket:})region:阿里云服务器地址accessKeyId:您的keyaccessKeySecret:您的密码&a…