域名解析系统DNS诊断命令nslookup详解【转】
转自: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 域名,如图:

回车后有三种不同的结果:
1.A记录的返回,如图:

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

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

最后一行的英文表示目标域名不存在,也可能是: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 邮件服务器记录

注意:preference为优先级,该数值越小则优先级越高。
13.NS 名字服务器记录

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记录的时候可以通过上述查询知道修改的结果是不是已经在顶级域名服务器上生效。不过即使已经生效也可能不能正常解释,还有缓存时间的问题,详查下文。
返回如图:

四、检查域名的缓存时间
检查域名的缓存时间需要使用一个新的参数:-d
格式:nslookup –d [其他的参数] 目标域名

我们忽略其他的,看看Got answer后面几行,包括了一个ttl数值。这个数值就是域名记录的生存时间。
这种查询将整个DNS数据包的所有部分都揭示出来,大家可以看到DNS实际上并不是想象中那么简单的东西。具体的各部分解释大家可以去看看相关的标准文档。需要提醒大家的是一定要找到ANSWER:的内容,其他的东西都不是描述最终的结果。上面就不止一个地方有TTL数值。
nslookup的命令还有许多其他参数,这里就介绍常用的这么几个。另外如果不喜欢命令行方式的话,还有图形界面的nslookup工具,自己去网上搜索一下吧。
转载请注明,转自:RenHaibo.com
本文链接地址:http://www.renhaibo.com/archives/29.html
域名解析系统DNS诊断命令nslookup详解【转】的更多相关文章
- window下域名解析系统DNS诊断命令nslookup详解
Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询A记录和CNAME(别名)记录,还会返回域名是否存在,其他的信息都是没有的.如果你需要对 ...
- linux系统下top命令参数详解
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- Linux系统下chkconfig命令使用详解
chkconfig命令可以用来检查.设置系统的各种服务 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代 ...
- nslookup详解(name server lookup)( 域名查询)
nslookup详解(name server lookup)( 域名查询) 一.总结 1.爬虫倒是很方便拿到页面数据:a.网页的页面源码我们可以轻松获得 b.比如cnsd博客,文章的正文内容全部放在 ...
- dos下的edit命令使用详解
dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...
- JAVA 命令参数详解System.setProperty(
JAVA 命令参数详解: 1.-D<name>=<value> set a system property 设置系统属性. java -D参数简化加入多个jar java命令 ...
- 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案
[入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...
- Linux中mpstat命令参数详解
Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...
- [转帖]强大的strace命令用法详解
强大的strace命令用法详解 文章转自: https://www.linuxidc.com/Linux/2018-01/150654.htm strace是什么? 按照strace官网的描述, st ...
随机推荐
- 【css】cursor鼠标指针光标样式知识整理
在前端开发中,我们经常需要对对象鼠标指针光标进行控制,比如鼠标经过超链接时变成手指形状.在这里整理一下cursor鼠标指针光标样式的知识,记录与方便以后查找. 1.常用cursor光标 div( cu ...
- 第15课 栏目的排序处理(组件化) Thinkphp5商城第四季
目录 要实现的功能 思路: 视图层 控制器里: 扩展函数里 要实现的功能 用表单里的提交过来的sort数据,批量修改表里的排序值 界面效果: 思路: 视图层表单提交数据主键=>sort值 控制器 ...
- 数据结构-单链表(Linked List)
#include <stdio.h> #include <stdlib.h> #define LIST_INIT_SIZE 10 #define LISTINCREMENT 1 ...
- 学习Spring框架系列(一):通过Demo阐述IoC和DI的优势所在
Spring框架最核心东西便是大名鼎鼎的IoC容器,主要通过DI技术实现.下面我通过Demo的演变过程,对比学习耦合性代码,以及解耦和的过程,并深入理解面向接口编程的真正内涵. 这个例子包括如下几个类 ...
- input框中的必填项之取消当前input框为必填项
html5新增了一个required属性,可以使用这个属性对文本框设置必填项,直接在input文本框上添加required即可 . 效果如图:
- HDU 3848 CC On The Tree 树形DP
题意: 给出一棵边带权的树,求距离最近的一对叶子. 分析: 通过DFS计算出\(min(u)\):以\(u\)为根的子树中最近叶子到\(u\)的距离. 然后维护一个前面子树\(v_i\)中叶子到\(u ...
- APK无源码使用Robotium简单总结
1.使用re-sign.jar对待测包进行重签名,并记录下包名和主Activity名. 2.在Eclipse中点击File-New-Other 选择Android下的Android Test Proj ...
- Python学习-day16-DOM
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...
- Lambda表达式的本质
//.net 1.0写法 /*delegate bool MyMethod(string s); bool myMethod(string s) { return s.IndexOf("ab ...
- Struts2 标签库与OGNL的使用