使用dig查看dns递归查询过程

DNS篇之dig使用详解 1、首先DNS常见的一些类型如下: 类型 数值 描述 A 1 域名的IPv4地址 AAAA 34 域名的IPv6地址 CNAME 5 域名的别名,可以理解为域名的重定向,主要方便IP地址的变更 NS 2 指定哪个域名服务器可以解析该域名的子域名 SOA 6 授权机构记录,记录ns中哪个是主服务器。 PTR 12 根据IP反向查找域名 HINFO 13 主机信息 MX 15. 阅读详情

使用 dig 查看 dns 递归查询过程

DNS 查询过程中如果没有命中缓存,查询实际上是一个递归过程。

DNS 解析工具 dig 提供了 trace 功能,可以展示递归查询的整个过程。以查询 www.baidu.com 为例,查询结果如下:

root@ubuntu:~# dig +trace +nodnssec www.baidu.com
;; communications error to 114.114.114.114#53: timed out

; <<>> DiG 9.18.30-0ubuntu0.20.04.2-Ubuntu <<>> +trace +nodnssec www.baidu.com
;; global options: +cmd
.                       2822    IN      NS      c.root-servers.net.
.                       2822    IN      NS      m.root-servers.net.
.                       2822    IN      NS      i.root-servers.net.
.                       2822    IN      NS      g.root-servers.net.
.                       2822    IN      NS      b.root-servers.net.
.                       2822    IN      NS      a.root-servers.net.
.                       2822    IN      NS      j.root-servers.net.
.                       2822    IN      NS      e.root-servers.net.
.                       2822    IN      NS      l.root-servers.net.
.                       2822    IN      NS      h.root-servers.net.
.                       2822    IN      NS      d.root-servers.net.
.                       2822    IN      NS      k.root-servers.net.
.                       2822    IN      NS      f.root-servers.net.
;; Received 515 bytes from 114.114.114.114#53(114.114.114.114) in 156 ms

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

;; UDP setup with 2001:502:8cc::30#53(2001:502:8cc::30) for www.baidu.com failed: network unreachable.
;; no servers could be reached
;; UDP setup with 2001:502:8cc::30#53(2001:502:8cc::30) for www.baidu.com failed: network unreachable.
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      ns1.baidu.com.
baidu.com.              172800  IN      NS      ns7.baidu.com.
;; Received 356 bytes from 192.54.112.30#53(h.gtld-servers.net) in 340 ms

www.baidu.com.          1200    IN      CNAME   www.a.shifen.com.
;; Received 100 bytes from 180.76.76.92#53(ns7.baidu.com) in 132 ms

dig trace 的输出,主要包括四部分:

第一部分,是从 114.114.114.114 查到的一些根域名服务器(.)的 NS 记录。

第二部分,是从 NS 记录结果中选一个根域名服务器b.root-servers.net,ip 为170.247.170.2,并查询顶级域名 com. 的 NS 记录。

第三部分,是从 com. 的 NS 记录中选择一个定义域名服务器h.gtld-servers.net,ip 为 192.54.112.30,并查询二级域名baidu.com. 的 NS 服务器。

最后一部分,就是从 baidu.com. 的 NS 服务器ns7.baidu.com查询最终主机 www.baidu.com. 的 CNAME 记录。

整理成流程图如下:
dns 递归查询过程
如果查询返回的是A记录,DNS 查询流程就结束了。如果是返回的CNAME记录,需要再次作 DNS 查询,进一步得到目标主机的IP地址:

root@ubuntu:~# dig +trace +nodnssec www.a.shifen.com

; <<>> DiG 9.18.30-0ubuntu0.20.04.2-Ubuntu <<>> +trace +nodnssec www.a.shifen.com
;; global options: +cmd
.                       234     IN      NS      i.root-servers.net.
.                       234     IN      NS      a.root-servers.net.
.                       234     IN      NS      m.root-servers.net.
.                       234     IN      NS      c.root-servers.net.
.                       234     IN      NS      f.root-servers.net.
.                       234     IN      NS      b.root-servers.net.
.                       234     IN      NS      j.root-servers.net.
.                       234     IN      NS      e.root-servers.net.
.                       234     IN      NS      d.root-servers.net.
.                       234     IN      NS      h.root-servers.net.
.                       234     IN      NS      l.root-servers.net.
.                       234     IN      NS      g.root-servers.net.
.                       234     IN      NS      k.root-servers.net.
;; Received 515 bytes from 114.114.114.114#53(114.114.114.114) in 20 ms

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

shifen.com.             172800  IN      NS      dns.baidu.com.
shifen.com.             172800  IN      NS      ns2.baidu.com.
shifen.com.             172800  IN      NS      ns3.baidu.com.
shifen.com.             172800  IN      NS      ns4.baidu.com.
;; Received 275 bytes from 192.5.6.30#53(a.gtld-servers.net) in 288 ms

;; UDP setup with 240e:bf:b801:1002:0:ff:b024:26de#53(240e:bf:b801:1002:0:ff:b024:26de) for www.a.shifen.com failed: network unreachable.
;; no servers could be reached
;; UDP setup with 240e:bf:b801:1002:0:ff:b024:26de#53(240e:bf:b801:1002:0:ff:b024:26de) for www.a.shifen.com failed: network unreachable.
;; no servers could be reached
;; UDP setup with 240e:bf:b801:1002:0:ff:b024:26de#53(240e:bf:b801:1002:0:ff:b024:26de) for www.a.shifen.com failed: network unreachable.
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      ns1.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns3.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns4.a.shifen.com.
;; Received 331 bytes from 36.155.132.78#53(ns3.baidu.com) in 40 ms

www.a.shifen.com.       120     IN      A       110.242.69.21
www.a.shifen.com.       120     IN      A       110.242.70.57
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      ns3.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns4.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns5.a.shifen.com.
;; Received 363 bytes from 110.242.68.42#53(ns1.a.shifen.com) in 16 ms

关于CNAME的说明

CNAME(Canonical Name)是域名的别名记录,用于将一个域名指向另一个规范域名(主域名)。当查询到 CNAME 记录时,客户端需进一步向该规范域名发起 DNS 查询,以获取最终的 IP 地址(A 记录或 AAAA 记录)。

大型站点,例如百度为了实现负载均衡、CDN 加速或灵活管理域名,会将 www.baidu.com 配置为 CNAME 记录,指向后端的多个中间域名(如 www.a.shifen.com、www.b.shifen.com 等)。

使用CNAME有如下优势:

  1. 修改 CNAME 指向的目标域名时,无需变更原域名的解析记录,适合频繁调整后端服务的场景(如切换 CDN 节点)。

  2. 这些中间域名最终会解析到不同的 IP 地址(A 记录),从而实现流量分发和高可用性。

  3. 直接使用 A 记录时,若 IP 变更需等待全球 DNS 缓存过期,可能导致访问中断。而 CNAME 记录的 TTL(生存时间)通常较短,可更快刷新解析结果。

  4. 这些中间域名最终会解析到不同的 IP 地址(A 记录),从而实现流量分发和高可用性。

  5. 直接使用 A 记录时,若 IP 变更需等待全球 DNS 缓存过期,可能导致访问中断。而 CNAME 记录的 TTL(生存时间)通常较短,可更快刷新解析结果。

DNS基础之使用dig查询DNS解析过程 文中内容参考DNS 原理入门—阮一峰。DNS服务器怎么会知道每个域名的IP地址呢?答案是分级查询。根域名.root对于所有域名都是一样的,所以平时是省略的。 根域名的下一级,叫做"顶级域名"(top-level domain,缩写为TLD),比如:等等 再下一级叫做"次级域名"(second-level domain,缩写为SLD),比如里面的,这一级域名是用户可以注册的;... 阅读详情

相关推荐

深入了解dig:DNS查询的命令行利器

dig是一个广泛使用的网络管理命令行工具,主要用于查询DNS记录。通过dig,可以获取到域名、邮件交换(MX)、名称服务器(NS)等信息。它提供了一种快速和方便的方式来直接与DNS服务器进行交互,帮助用户诊断DNS问题,或进行DNS相关数据的采集。dig命令提供了许多选项,以便用户能够灵活地控制查询的各个方面。常规选项通常用于调整输出格式或执行简单的查询任务。例如,"+short"选项可以提供简短的查询结果输出,这对于脚本或自动化工具来说非常有用。

weixin_35755188的博客 1374

DNS 简介及 dig 命令详解

dig 用于查询 DNS 名称服务器以获取有关的网络信息。下文首先介绍 DNS 的相关背景知识,随后再讲解 dig 命令的使用方法。 一、DNS 解析过程 DNS(Domain Name System)解析过程是一个将域名解析为 IP 地址的过程。以下是 DNS 完整的解析过程: 1. 本地解析 用户在浏览器中输入一个 URL,如 <www.baidu.com> ,首先,计算机会在本...

weixin_42015351的博客 1157

时间卷积网络(TCN):结构+pytorch代码

文章目录TCNTCN结构1-D FCN的结构因果卷积(Causal Convolutions)膨胀因果卷积(Dilated Causal Convolutions)膨胀非因果卷积(Dilated Non-Causal Convolutions)残差块结构pytorch代码讲解 TCN   TCN(Temporal Convolutional Network)是由Shaojie Bai et al....

Leon_winter的博客 11万+

DNS解析与dig命令

DNS(Domain Name System,域名系统)也许是我们在网络中最常用到的服务,它把容易记住的域名,如 www.google.com 翻译成人类不易记住的IP地址,如 173.194.127.132,以便在方便人类输入的基础上让计算机能够精确地在网络中找到目标机器。dig(Domain Information Groper)是一个比较常用的 dns 分析及调试工具,一般 Linux 和 Mac 都已默认安装。

程序员野蛮成长 659

基于Labview2012实现的双通道信号源(课程设计)

双通道信号源,产生8种波形,能进行调制,带信号幅度与频率扫描功能,波形可存储与导入

qq_40617082的博客 1460

RK3588设备树节点实战:从零配置音频与显示模块(ES8388+DSI0)

本文详细介绍了在RK3588平台上配置音频编解码器ES8388和显示接口DSI0的设备树节点实战。通过具体案例拆解设备树节点的编写逻辑与调试技巧,包括音频路由与声卡配置、DSI控制器基础配置、视频通路路由配置以及电源管理与时钟树设计。文章还提供了调试工具与实战技巧,帮助开发者快速解决常见问题。

weixin_42525637的博客 351

linux网络命令:查询 DNS信息的命令 dig的使用和下载、安装说明

dig` 是 Domain Information Groper 的缩写,是 Linux 和其他类 Unix 系统中用于查询 DNS(域名系统)信息的命令行工具。它允许用户查询特定域名的各种 DNS 记录,如 A 记录、MX 记录、NS 记录等。dig提供了丰富的选项来查询各种 DNS 记录类型,以及诊断 DNS 查询过程中的问题。

weixin_70208651的博客 5838

基于Simulink的电力电子系统电磁兼容性(EMC)仿真

在电力电子系统中,由于高频开关器件的存在,会产生大量的电磁干扰(EMI),这对系统的稳定性和可靠性提出了挑战。Simulink 提供了一个强大的仿真环境,可以用来设计、分析和验证电力电子系统的电磁兼容性。本教程将详细介绍如何使用 Simulink 进行电力电子系统的电磁兼容性仿真。通过本教程,我们详细介绍了如何使用 Simulink 进行电力电子系统的电磁兼容性仿真。为了模拟电力电子系统中的电磁干扰(EMI),我们需要添加噪声源模块。为了更好地分析系统的电磁兼容性特性,可以在模型中添加频谱分析工具。

amy_mhd的博客 1126

Linux——dig

1. 安装 [root@master ~]# yum install bind-utils -y dig命令大多时候可以取代nslookup 2. 使用 2.1 输出A记录 简明使用,只会输出A记录(写脚本的时候容易获取ip地址) [root@master ~]# dig baidu.com +short 220.181.38.148 39.156.69.79 2.2 输出mx记录 [root@master ~]# dig mx baidu.com +short 20 jpmx.baidu.com. 2

blueicex2017的博客 474

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1157

Allegro172版本DFM功能介绍

Allegro172版本提供了实时DFM检查的功能,让违反要求的地方实时以DRC的形式报出来,让加工不可加工因素在设计的时候同步避免。打开Constraint,选择Manufacturing, 所有DFM相关DRC都在这。把所有下面DRC开关(DFM,DFA,DFT)都选择on,选择OK。这个规则和物理和间距规则等等都没有关系,单独的一个加工规则。这些DRC大部分是正常的,正常的可以去修改规则来消除。等待DRC刷新,板子上会出现很多DRC,类似下图。下面介绍如何调用和产生DFM规则。一直往下点击next。

weixin_54787054的博客 1336

dns重定向_[Network] 1- DNS解析

LIN.JY666:[Network] 8 - 如果你的域名被劫持 / DNS解析失败 你能怎么办?​zhuanlan.zhihu.com1. DNS解析寻找哪台机器上有你需要资源的过程。为什么要DNS解析? 域名方便记忆, 一个域名对应多个IP地址。DNS解析: 一个网址域名地址 到 IP地址 的转换。2.1 DNS递归/迭代查询过程访问www.google.com 1. if [浏览器 ...

weixin_39939993的博客 979

71.qt quick-可伸展菜单-抽屉栏示例 通用QML界面(一键换肤)

特点: 支持动态添加item、删除item、自适应界面 附带添加删除、展开等动画 同时支持qwidget、qml加载 支持number提示(比如消息数量等) 侧边抽屉栏支持动画伸展 支持换肤、拖拽、最大化等

抵抗时间扭曲,坚持做一件有意义的事 5285

DNS解析原理基础

DNS原理基础

qq_19676401的博客 548

Centos7系统添加中文支持(附中文语言包)

这里以centos7.6为例,在安装系统是没有选择中文,之后如果需要添加中文支持。在命令行执行后,会提示启动图形模式失败,转为启动文本模式。文本模式其实和图形模式差不多,操作需要用键盘而不是鼠标。在弹窗后,通过上下键选择Chinese(P.R of China) - 中文(简体):然后,按Tab键选择Yes,点击回车。rebootlocale可以看到系统语言已经变成了zh_CN.utf-8:之后,服务器上的中文名称就可以正常显示正常了。

悦分享 682

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

dns相关内容

dns基本工作原理dns: domain name servicedns udp/53 tcp/53udp 用于解析 tcp 用于区域传送 由域名服务器与域名解析器组成 用于域名和ip的相互转换 dns:分布式 倒置的树状结构 最上方为根域 根域服务器世界一共有13台 根域服务器下...

weixin_33918357的博客 152

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

DNS查询过程——迭代、递归查询

目录 基础知识 域名解析过程 递归查询与迭代查询 工具和命令 DNS缓存机制 基础知识 1.域名系统 2.域名服务器 域名解析过程 1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2.如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3.如果hosts与本地DNS解析器缓存都没有相应的网址映.

qq_36610334的博客 2万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

深入解析DNS查询:从dig命令看域名解析的全过程

在互联网世界中,域名系统(DNS,Domain Name System)扮演着至关重要的角色。它负责将人类可读的域名(如 `example.com`)转换为机器可识别的IP地址(如 `93.184.216.34`),使得网络通信成为可能。 在日常运维和网络故障排查中,`dig`(Domain Information Groper)是一个强大的DNS查询工具,能够提供详细的域名解析信息。本文将通过一个实际的 `dig` 查询案例,深入解析DNS查询的各个部分,帮助读者理解DNS的工作原理,并掌握如何使

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 1941

DNS递归查询与迭代查询

6.如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。如果未用转发模式,本地DNS就把请求发至 “根DNS服务器”,“根DNS服务器”收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。.

lingshengxiyou的博客 1万+

DNS查询过程与原理

注意事项: - **缓存**:DNS 查询的结果会被本地 DNS 服务器和其他中间服务器缓存一段时间,以减少未来的查询次数。 - **递归查询**:本地 DNS 服务器通常执行递归查询,这意味着它会负责完成整个查询过程并返回结果给客户端。 - **迭代查询**:在查询过程中,DNS 服务器之间的查询通常是迭代的,即每次查询只返回下一步的地址,直到找到权威 DNS 服务器为止。

m0_60511809的博客 2379

CentOS用host、dig、nslookup查询DNS命令

一、不能使用dig、nslookup 二、安装相应软件包 yum install -y bind-utils 三、使用命令 1.dig命令 dig命令是一个功能强大的DNS查询命令。 一般格式: dig [@global-server] [domain] [q-type] [q-class] {q-opt} {d-opt} 参数说明: @global-

zd8582zd的专栏 4万+

dig命令查询结果解析

1.DNS是什么 DNS (Domain Name System 的缩写)的作用简单而言,就是根据域名查出IP地址。 2.通过dig展示DNS根据域名查出IP地址的过程 dig www.baidu.com 查询结果可以分成6段 第1段 查询统计 dig程序的版本号(9.10.6)和要查询的域名 全局的设置选项 获取查询结果统计如下: opcode 操作码,QUER...

仰望月空的博客 6752

dig基本介绍+利用wireshark和dig命令学习dns整个过程

dig跟上次学到的nslookup用法大同小异,但是功能上更强大一些 dig语法 dig sina.com any 8.8.8.8 在信息收集过程中可以尝试更换多个域名服务器对域名进行查询 因为会出现不同的结果 可以获得多个目标信息 dig的更多功能 输出结果进行筛选 -noall 什么都不显示 2.反向查询 dig命令的强大之处 1.可以查询dns服务器的debian版本 dig -no...

zdzzdz123123的博客 1362

dig 命令使用

参考:dig命令解析 dig 命令主要用来从 DNS 域名服务器查询主机地址信息,可以用来测试域名系统工作是否正常。 参数: 主机:指定要查询域名主机; 查询类型:指定DNS查询的类型; 查询类:指定查询DNS的class; 查询选项:指定查询选项。 ​ @<服务器地址>:指定进行域名解析的域名服务器; -b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地...

一壶兔的博客 6529

DNS解析过程?递归和迭代两种方式的区别?

基础知识 1.域名系统 2.域名服务器 域名解析过程 1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2.如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3.如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如

qq_35238352的博客 7506
上一篇: 使用tunasync部署企业内部开源软件镜像站-Centos Stream 9
下一篇: H3C UIS Cell 3020 G3服务器更换raid卡安装ONEStor记录
KongTY312
博客等级 码龄12年 2143粉丝 189原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KongTY312

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值