使用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获取进程执行时间有两种方法可以获取,第一种是用time命令,time 进程。第二种是通过在程序中进行记录,首先利用sysconf函数获取时钟滴答数,再用times获取tms结构,详细看下面的示例代码
    2013-12-12
  • linux系统下如何挂载NTFS移动硬盘

    linux系统下如何挂载NTFS移动硬盘

    用命令行挂载移动硬盘是Linux的基本操作之一,虽然目前有些Linux系统能自动加载移动硬盘,但有些时候(比如使用Ubuntu Server或其它Linux系统的时候)仍然需要手动操作,下面这篇文章主要介绍了linux系统下如何挂载NTFS移动硬盘,需要的朋友可以参考借鉴。
    2017-01-01
  • iis、apache与nginx禁止目录执行asp、php脚本的实现方法

    iis、apache与nginx禁止目录执行asp、php脚本的实现方法

    为了网站安全,很多图片上传目录等不需要执行脚本的目录我们可以通过下面的方法禁止执行脚本。
    2011-11-11
  • LNMP下添加Discuz x2.5的伪静态规则

    LNMP下添加Discuz x2.5的伪静态规则

    今天一个找我配置过 lnmp 环境的用户要搭建 Discuz 论坛,但是发现不支持伪静态,倡萌没怎么折腾过 Discuz,百度下才知道,原来军哥的 LNMP 环境包自带的 DZ 规则不适用于 Discuz x2.5,记录下对应的伪静态规则
    2016-09-09
  • Linux Centos7系统端口占用问题的解决方法

    Linux Centos7系统端口占用问题的解决方法

    这篇文章主要给大家介绍了关于Linux Centos7系统端口占用问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • linux上搭建私有Git服务器的详细教程

    linux上搭建私有Git服务器的详细教程

    这篇文章主要介绍了linux上搭建私有Git服务器的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 详解如何在Linux系统上安装cpolar内网穿透

    详解如何在Linux系统上安装cpolar内网穿透

    cpolar作为一款体积小巧却功能强大的内网穿透软件,不仅能够在多种环境和应用场景中发挥巨大作用,还能适应多种操作系统,本文主要介绍了cpolar在Linux系统下的各种应用类型,感兴趣的可以了解下
    2023-08-08
  • linux进行硬盘分区挂载的实现方法

    linux进行硬盘分区挂载的实现方法

    这篇文章主要介绍了linux进行硬盘分区挂载的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Linux系统删除文件夹和文件的命令

    Linux系统删除文件夹和文件的命令

    笔者给大家介绍Linux系统删除文件夹和文件的命令,很多朋友喜欢是rmdir命令来删除文件,不过当遇到目录非空,就会麻烦,下面阅读本文学习下linux删除文件夹和文件的命令吧
    2018-02-02
  • Linux安装CUDA GCC版本不兼容问题

    Linux安装CUDA GCC版本不兼容问题

    这篇文章主要介绍了Linux安装CUDA GCC版本不兼容问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论