域名解析系统DNS诊断命令nslookup详解【转】

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

转自:http://www.renhaibo.com/archives/29.html

Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询A记录和CNAME(别名)记录,还会返回域名是否存在,其他的信息都是没有的。如果你需要对DNS(域名解析系统)的故障进行排错就必须熟悉另一个强大的命令-nslookup,Nslookup可以用来诊断域名解析系统 (DNS) 的基础结构信息,可以指定查询的类型,可以查到DNS记录的生存时间,还可以指定使用那个DNS服务器进行解释,该命令在安装 TCP/IP 协议后方可以使用。

 

下面以海波博客的域名http://www.renhaibo.com为例,详细介绍nslookup命令在命令提示符(DOS)下的用法:

一、查询IP地址

nslookup可以方便地查询到域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况。

用法格式:nslookup 域名,如图:
http://www.renhaibo.com/archives/29.html

回车后有三种不同的结果:

1.A记录的返回,如图:
http://www.renhaibo.com/archives/29.html
前面两行是您电脑所使用的DNS服务器名及其IP地址,出错也可以不理会,重点是最后的两行是renhaibo.com的IP地址是74.53.25.162,请注意,即使renhaibo.com的主机没有在线也同样能够返回结果。

2.别名记录(CNAME)的返回情况,如图:
http://www.renhaibo.com/archives/29.html
这就显示出和ping命令不同了,请看查看CNAME记录的结果。由于CNAME和A记录最后都是活的IP地址,所以一般情况下两者是等同看待的,命令的格式相同。这次nslookup返回了三行信息,前两行显示这是一个CNAME记录,对应的域名和IP地址。最后显示的就是目标域名, 并注明是Alias(别名)。

3.域名不存在的情况,如图:
http://www.renhaibo.com/archives/29.html
最后一行的英文表示目标域名不存在,也可能是:No response from server。你选择不同的域名商或不同的DNS解析系统,返回的结果也可能有差异,但大同小异。

二、查询其它类型的域名

我们的域名一般还配置了其他类型的记录,如MX邮件服务器记录,查看解析是否正常,这时候用ping命令就不行了。邮件服务器只能发信不能收信,是域名解析的问题还是其他的问题,Ping命令的检查只能让你误入歧途。nslookup这时候可以模拟你的其他遇见服务器进行域名解析的情况。我们需要在nslookup上加上适当的参数。指定查询记录类型的指令格式如下:nslookup –qt=类型 目标域名(注意qt必须小写)

以下是可以用的类型的格式(不区分大小写),仅提供常用的MX和NS的截图:

1.A 地址记录(Ipv4)

2.AAAA 地址记录(Ipv6)

3.AFSDB Andrew文件系统数据库服务器记录(不懂)

4.ATMA ATM地址记录(不是自动提款机)

5.CNAME 别名记录

6.HINFO 硬件配置记录,包括CPU、操作系统信息

7.ISDN 域名对应的ISDN号码

8.MB 存放指定邮箱的服务器

9.MG 邮件组记录

10.MINFO 邮件组和邮箱的信息记录

11.MR 改名的邮箱记录

12.MX 邮件服务器记录
http://www.renhaibo.com/archives/29.html
注意:preference为优先级,该数值越小则优先级越高。

13.NS 名字服务器记录
http://www.renhaibo.com/archives/29.html

14.PTR 反向记录(从IP地址解释域名)

15.RP 负责人记录

16.RT 路由穿透记录

17.SRV TCP服务器信息记录

18.TXT 域名对应的文本信息

19.X25 域名对应的X.25地址记录

三、指定使用的DNS解析服务

默认情况下nslookup使用的是我们在本机TCP/IP配置中的DNS服务器进行查询,但有时候我们需要指定一个特定的服务器进行查询试验。此时我们不需要更改本机的DNS配置,只要在命令后面加上指定的服务器IP或者域名就可以了。这个参数在我们对一台指定服务器排错是非常必要的,另外我们可以通过指定服务器直接查询授权服务器的结果避免其他服务器缓存的结果。

命令格式如下:nslookup [-qt=类型] 目标域名 指定的DNS服务器IP或域名

如我们使用河北电信的另一个DNS服务器:219.146.0.130查询renhaibo.com的NS记录,所有的二级域名的NS记录都存放在顶级域名服务器中,这是最权威的解释。注意这次没有非授权结果的提示。对于二级域名的NS记录查询来说这肯定是授权结果。顶级域名服务器的名称是ns57.domaincontrol.com,ns58.domaincontrol.com等2台服务器。当我们修改域名的NS记录的时候可以通过上述查询知道修改的结果是不是已经在顶级域名服务器上生效。不过即使已经生效也可能不能正常解释,还有缓存时间的问题,详查下文。

返回如图:
http://www.renhaibo.com/archives/29.html

四、检查域名的缓存时间

检查域名的缓存时间需要使用一个新的参数:-d

格式:nslookup –d [其他的参数] 目标域名
http://www.renhaibo.com/archives/29.html
我们忽略其他的,看看Got answer后面几行,包括了一个ttl数值。这个数值就是域名记录的生存时间。

这种查询将整个DNS数据包的所有部分都揭示出来,大家可以看到DNS实际上并不是想象中那么简单的东西。具体的各部分解释大家可以去看看相关的标准文档。需要提醒大家的是一定要找到ANSWER:的内容,其他的东西都不是描述最终的结果。上面就不止一个地方有TTL数值。

nslookup的命令还有许多其他参数,这里就介绍常用的这么几个。另外如果不喜欢命令行方式的话,还有图形界面的nslookup工具,自己去网上搜索一下吧。

转载请注明,转自:RenHaibo.com
本文链接地址:http://www.renhaibo.com/archives/29.html





本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/6516647.html,如需转载请自行联系原作者

相关文章
|
2月前
|
域名解析 网络协议 安全
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
|
15天前
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
57 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
2月前
|
网络协议 Linux Docker
在Linux中,如何指定dns服务器,来解析某个域名?
在Linux中,如何指定dns服务器,来解析某个域名?
|
1月前
|
网络协议
DNS正向解析实现
文章介绍了DNS正向解析的实现,包括资源记录的定义、配置区域解析记录的步骤,并通过实际操作展示了如何为"yinzhengjie.com"域名配置DNS解析记录。
33 2
DNS正向解析实现
|
27天前
|
域名解析 缓存 网络协议
域名系统DNS_基础知识
域名系统(DNS)使我们能够通过易记的域名访问互联网资源,而非直接使用IP地址。DNS采用层次树状结构,由多个分量组成,如顶级域名(如.com或.cn)位于最右侧。域名长度限制为255个字符,各级域名由相应管理机构监管,顶级域名由ICANN管理。DNS分为国家顶级域名、通用顶级域名和反向域等。域名解析涉及根域名、顶级域名及权限域名服务器,通过递归和迭代查询完成。为提高效率,DNS使用分布式服务器和高速缓存技术。
|
2月前
|
消息中间件 域名解析 网络协议
【Azure 应用服务】部署Kafka Trigger Function到Azure Function服务中,解决自定义域名解析难题
【Azure 应用服务】部署Kafka Trigger Function到Azure Function服务中,解决自定义域名解析难题
|
2月前
|
域名解析 缓存 负载均衡
在Linux中,自定义解析域名的时候,可以编辑哪个⽂件?是否可以⼀个ip对应多个域名?是否⼀个域名对应多个ip?
在Linux中,自定义解析域名的时候,可以编辑哪个⽂件?是否可以⼀个ip对应多个域名?是否⼀个域名对应多个ip?
|
2月前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件
|
2月前
|
存储 NoSQL Redis
redis 6源码解析之 object
redis 6源码解析之 object
58 6
|
25天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理

相关产品

  • 云解析DNS
  • 推荐镜像

    更多