使用dig/nslookup命令查看dns解析的方法步骤

 更新时间:2019年11月29日 14:08:15   作者:贾己人  
这篇文章主要介绍了使用dig/nslookup命令查看dns解析的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

dig - DNS lookup utility

当域名出现访问故障时,可以通过检查域名解析来判断是否是由错误的解析导致的问题。
1.域名解析无结果(不存在或被HOLD(未实名认证等))
2.域名解析到错误的IP(被阻断,被劫持响应错误结果,需要对解析流程做判断)
3.对应CNAME记录的值无法解析
4.部分解析异常(配置多个域名服务器时,多个服务器解析结果不一致,需要确认是否在DNS服务器上配置添加的解析记录一致)

简单使用解析一下www.baidu.com结果如下:

这里写图片描述

可以看到有请求段和应答段,最后解析出的A记录有两条。

dig命令做迭代查询

在命令后加上+trace可以跟踪整个解析流程:
1. 由根域名服务器查找到负责解析.com的顶级域名服务器
2. 由顶级域名服务器查找到baidu.com的二级域名服务器
3. 由二级域名服务器查找到www.baidu.com对应一条CNAME记录www.a.shifen.com
4. 再去查找www.a.shifen.com对应的A记录
5. 最后返回A记录对应的IP地址

[root@jia3 ~]# dig www.baidu.com +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com +trace
;; global options: +cmd
.            320307 IN   NS   a.root-servers.net.
.            320307 IN   NS   k.root-servers.net.
.            320307 IN   NS   i.root-servers.net.
.            320307 IN   NS   l.root-servers.net.
.            320307 IN   NS   b.root-servers.net.
.            320307 IN   NS   e.root-servers.net.
.            320307 IN   NS   h.root-servers.net.
.            320307 IN   NS   d.root-servers.net.
.            320307 IN   NS   g.root-servers.net.
.            320307 IN   NS   j.root-servers.net.
.            320307 IN   NS   f.root-servers.net.
.            320307 IN   NS   m.root-servers.net.
.            320307 IN   NS   c.root-servers.net.
;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 98 ms

com.          172800 IN   NS   c.gtld-servers.net.
com.          172800 IN   NS   l.gtld-servers.net.
com.          172800 IN   NS   d.gtld-servers.net.
com.          172800 IN   NS   h.gtld-servers.net.
com.          172800 IN   NS   m.gtld-servers.net.
com.          172800 IN   NS   a.gtld-servers.net.
com.          172800 IN   NS   k.gtld-servers.net.
com.          172800 IN   NS   b.gtld-servers.net.
com.          172800 IN   NS   e.gtld-servers.net.
com.          172800 IN   NS   g.gtld-servers.net.
com.          172800 IN   NS   j.gtld-servers.net.
com.          172800 IN   NS   i.gtld-servers.net.
com.          172800 IN   NS   f.gtld-servers.net.
;; Received 491 bytes from 192.5.5.241#53(192.5.5.241) in 93 ms

baidu.com.       172800 IN   NS   dns.baidu.com.
baidu.com.       172800 IN   NS   ns2.baidu.com.
baidu.com.       172800 IN   NS   ns3.baidu.com.
baidu.com.       172800 IN   NS   ns4.baidu.com.
baidu.com.       172800 IN   NS   ns7.baidu.com.
;; Received 201 bytes from 192.48.79.30#53(192.48.79.30) in 501 ms

www.baidu.com.     1200  IN   CNAME  www.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns1.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns2.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns5.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns3.a.shifen.com.
a.shifen.com.      1200  IN   NS   ns4.a.shifen.com.
;; Received 228 bytes from 220.181.37.10#53(220.181.37.10) in 8 ms

域名不存在时,dig命令如何返回

比如解析 www.not-exists-domain.com这个域名,是不存在的。
整个过程如下:
1. 由根域名返回.com顶级域的服务器地址
2. 由.com顶级域查到二级域名不存在,返回一条SOA记录

[root@jia3 ~]# dig www.not-exists-domain.com +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.not-exists-domain.com +trace
;; global options: +cmd
.            319714 IN   NS   b.root-servers.net.
.            319714 IN   NS   e.root-servers.net.
.            319714 IN   NS   h.root-servers.net.
.            319714 IN   NS   d.root-servers.net.
.            319714 IN   NS   g.root-servers.net.
.            319714 IN   NS   j.root-servers.net.
.            319714 IN   NS   f.root-servers.net.
.            319714 IN   NS   m.root-servers.net.
.            319714 IN   NS   c.root-servers.net.
.            319714 IN   NS   a.root-servers.net.
.            319714 IN   NS   k.root-servers.net.
.            319714 IN   NS   i.root-servers.net.
.            319714 IN   NS   l.root-servers.net.
;; Received 228 bytes from 202.106.0.20#53(202.106.0.20) in 105 ms

com.          172800 IN   NS   e.gtld-servers.net.
com.          172800 IN   NS   c.gtld-servers.net.
com.          172800 IN   NS   j.gtld-servers.net.
com.          172800 IN   NS   l.gtld-servers.net.
com.          172800 IN   NS   k.gtld-servers.net.
com.          172800 IN   NS   g.gtld-servers.net.
com.          172800 IN   NS   m.gtld-servers.net.
com.          172800 IN   NS   a.gtld-servers.net.
com.          172800 IN   NS   i.gtld-servers.net.
com.          172800 IN   NS   h.gtld-servers.net.
com.          172800 IN   NS   b.gtld-servers.net.
com.          172800 IN   NS   f.gtld-servers.net.
com.          172800 IN   NS   d.gtld-servers.net.
;; Received 503 bytes from 192.112.36.4#53(192.112.36.4) in 228 ms

com.          900   IN   SOA   a.gtld-servers.net. nstld.verisign-grs.com. 1524576381 1800 900 604800 86400
;; Received 116 bytes from 192.12.94.30#53(192.12.94.30) in 333 ms

nslookup - query Internet name servers interactively

nslookup有交互式和非交互式两种使用方式如下图:

这里写图片描述

nslookup还可以指定到某个域名服务器做解析命令格式如下:

nslookup www.baidu.com 8.8.8.8(域名服务器地址)

这里写图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Linux应用程序使用写文件调试程序的方法

    Linux应用程序使用写文件调试程序的方法

    今天小编就为大家分享一篇关于Linux应用程序使用写文件调试程序的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • linux的硬链接和软连接的区别及说明

    linux的硬链接和软连接的区别及说明

    这篇文章主要介绍了linux的硬链接和软连接的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • apache配置php实现单一入口方法

    apache配置php实现单一入口方法

    这篇文章主要介绍了apache配置php实现单一入口方法,大家参考使用
    2013-12-12
  • Apache中启用Server Status配置示例

    Apache中启用Server Status配置示例

    这篇文章主要介绍了Apache中启用Server Status配置示例,本文首先讲解了什么是Apache Server Status,然后给出了配置示例,需要的朋友可以参考下
    2014-09-09
  • CentOS服务器iptables配置简单教程

    CentOS服务器iptables配置简单教程

    这篇文章主要为大家详细介绍了CentOS服务器iptables配置简单教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法(总结篇)

    Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法(总结篇)

    这篇文章主要介绍了Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法的相关资料,本文分步骤给大家介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • Centos7下Samba服务器配置(实战)

    Centos7下Samba服务器配置(实战)

    这篇文章主要介绍了Centos7下Samba服务器配置(实战),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境

    PHP程序员玩转Linux系列 搭建FTP代码开发环境

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,FTP代码开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Centos 7 64位桌面版安装图文教程

    Centos 7 64位桌面版安装图文教程

    这篇文章主要为大家详细介绍了Centos 7 64位桌面版安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • LINUX查看端口是否被占用过程解析

    LINUX查看端口是否被占用过程解析

    这篇文章主要介绍了LINUX查看端口是否被占用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论