热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了使用dignslookup命令查看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(域名服务器地址)

这里写图片描述

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


推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
author-avatar
飞飞鱼531
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有