dig全称Domain Information Groper,是一个DNS域名信息查询的工具,可以使用来查看域名解析的过程。

dig是linux下自带的工具,如果要在windows下使用需要自行下载和配置,过程也很简单。

引用一位csdn博主的博客:windows下载配置dig

如上图,下面以怎么从地址栏输入 https://www.cnblogs.com/jeavenwong 到找到该域名对应的ip地址的过程为例,先去掉https协议 ''https://" 和后面的用户资源空间 "/jeavenwong"。

即查询www.cnblogs.com的ip地址。

我们知道,如果查询ip的时候没有命中操作系统的host配置文件和cpu的三级缓存的话,DNS的解析就要分级递归查询,大致过程如下:

从根域名服务器查询顶级域名的NS记录和A记录(ip) --> 从顶级域名查询到次级域名服务器的NS记录和A记录(ip) --> 从次级域名服务器查询主机的ip地址

下图是用dig直接查询结果:

可以看出ANSWER SECTION中有两个ip地址,说明www.cnblogs.com主机有两个ip地址。

下面展示整个规矩:

可以从上图看出是从根域名服务器(.root)获得的顶级域名服务器(.com)的NS记录,然后从顶级域名服务器获得的次级域名服务器(cnblogs.com)的NS记录,再从cnblogs.com得到主机的两个NS服务器和两个A记录(ip地址)。

dig也可以查询每一级的NS 记录,如下图就是查询顶级域名的NS记录,查询结果来自ip为 8.8.8.8 的这个根域名服务器。

下图是查询次级域名的NS记录。

下面是查询主机的NS记录。

本人水平有限,如有错误请留言指正,谢谢!

使用dig进行DNS查询的更多相关文章

  1. dig理解DNS的解析过程 - 阿权的书房

    关于DNS的常识,可以阅读附录的一些参考资料.本文旨在尝试举例用dig命令理解这个过程,并非权威知识,仅供参考.测试域名为阿权的书房的域名 www.aslibra.com 和 www.163.com. ...

  2. 转载 DNS查询流程简介

    转载请注明出处:http://blog.csdn.net/luotuo44/article/details/45545059 DNS(domain name system),读者们或多或少都听过,就是 ...

  3. DNS查询相关

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/45 一种简单的设计方式是在因特网上使用一个DNS服务器,该服务器 ...

  4. dig - 发送域名查询信息包到域名服务器

    SYNOPSIS(总览) dig [@ server ] domain [Aq query-type ] [Aq query-class ] [+ Aq query-option ] [-Aq dig ...

  5. Java DNS查询内部实现

    源码分析 在Java中,DNS相关的操作都是通过通过InetAddress提供的API实现的.比如查询域名对应的IP地址: String dottedQuadIpAddress = InetAddre ...

  6. Java内部DNS查询实现和参数设置

    一.Java内部DNS查询 Java使用域名查询时,用的自己内部的域名实现机制,最后都是交给InetAddress去做DNS解析. 源码分析参考:http://blog.arganzheng.me/p ...

  7. 域名dns查询_查询域名dns ip地址

    最近有部分用户反应管理的天气网站打开偏慢,决定从每一个可以出现的问题点查起!首先就是dns! 通过360dns监控对比发现,同一组域名,15tianqi.cn的dns响应时间比较长,在300-700间 ...

  8. 【Python Network】分解DNS查询结果

    针对DNS查询records,通过NS.PTR.CNAME和MX类别不同,返回数据将包含另外主机名.为了解最终的IP地址,通过将返回信息分解.继续使用PyDNS获取详细信息. #! /usr/bin/ ...

  9. DNS查询的工作原理

    二.DNS查询的工作原理 1.DNS查询过程按两部分进行     1.名称查询从客户端计算机开始, 并传送给本机的DNS客户服务程序进行解析     2.如果不能再本机解析查询, 可根据设定的查询DN ...

随机推荐

  1. RabbitMQ的应用场景

    进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完成才 ...

  2. JS做动态表格

    在后台将数据发送过来后,你需要将这些数据做成表格,实现一般表格管理功能 例如这种数据格式, 首先要创建table 在table中添加thead  在thead中添加tr 循环数组,且创建开头的inpu ...

  3. 了解Scrum敏捷开发过程的优点

    Scrum 1. 我们的团队 1.1 团队名称 开发小分队&7号 1.2 团队成员 徐棒 彭康明 刘鹏芝 罗樟 王小莉 胡广健 沈兴艳 1.3 我在团队中位置 需求实现团队(负责将需求模块实现 ...

  4. HTML5 - 初识

    众所周知,我们现在的手机APP开发模式分为一下几大类: 一.原生APP 二.纯HTML5 三.原生+HTML5 四.React Native 公司的职位划分: 1.平面设计师  : 作图.切图.HTM ...

  5. 用BIO手写实现Redis客户端的探究(拒绝Jedis)

    在Redis的使用过程中,大多数人都是使用现成的客户端,如Jedis,Redisson,Lettuce.因此本文研究用BIO的方式手写Redis客户端尝试,对遇到的问题进行探究及总结. Redis通讯 ...

  6. SQLSEVER 同台服务器下不同表 触发器实现数据实时同步

    触发器的使用: 1.首先建立两个相同结构的表,两个表明的列的名称不同. student_01   字段  name  ;  字段 age  ; 字段  class ; student_02   字段  ...

  7. Python 一些内置函数的总结~~~~

    1. type() 两种用法 a. 当传入参数为一个时,返回值为参数的类型 b. 当传入参数为三个时,type(name, bases, dict) name: 类名 bases: 继承父类的元组,可 ...

  8. pandas(四)

    合并  merge,concat,join pd.merge(df1,df2,on=‘列名’,how='') df1.join(df2,how='outer',on='') pd.concat([df ...

  9. 使用Dell iDRAC服务器远程控制安装操作系统简要图解

    使用Dell iDRAC服务器远程控制安装操作系统简要图解 iDARC tools   iDRAC又称为Integrated Dell Remote Access Controller,也就是集成戴尔 ...

  10. 基于Java8的日期时间工具类DateTimeFormatter

    原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...