DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询, 递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询。其实DNS客户端和本地名称服务器是递归,而本地名称服务器和其他名称服务器之间是迭代。

在递归查找中,DNS服务器执行递归并继续查询其他DNS服务器,直到它具有返回给客户端的IP地址为止(通常是用户的操作系统)。在迭代DNS查询中,每个DNS查询都使用一个地址直接响应客户端,以供另一个DNS服务器询问,并且客户端继续查询DNS服务器,直到其中一个使用给定域的正确IP地址进行响应为止。

(简单来说递归实际上就是DNS服务器迭代)。

递归DNS优点

由于缓存递归DNS查询通常比迭代查询的解析速度更快。递归DNS服务器将对执行的每个查询的最终答案进行缓存,并将该最终答案保存一定的时间(称为生存时间)。

当递归解析器收到对其缓存中已经具有的IP地址的查询时,它可以快速将缓存的答案提供给客户端,而无需与任何其他DNS服务器进行通信。如果aDNS服务器为许多客户端提供服务和/或b请求的网站非常受欢迎,则很有可能从缓存中快速提供响应。

递归DNS缺点

开放的DNS服务器上允许递归DNS查询会造成安全漏洞,因为此配置可使攻击者执行DNS放大攻击和DNS缓存中毒

DNS放大攻击

由于每个机器都要求使用欺骗性IP地址打开DNS解析器,该IP地址已更改为目标受害者的真实源IP地址,然后目标会从DNS解析器接收响应。为了创建大量流量,攻击者以尽可能从DNS解析器生成响应的方式构造请求。结果,目标接收到攻击者初始流量的放大,并且他们的网络被虚假流量阻塞,导致拒绝服务。

具体细节: https://www.jianshu.com/p/2b339de46c86

DNS缓存中毒

DNS缓存中毒也称为DNS欺骗,是一种攻击,旨在查找并利用DNS或域名系统中存在的漏洞,以便将有机流量从合法服务器吸引到虚假服务器上。这种攻击往往被归类为域欺骗攻击(pharming attack),由此它会导致出现很多严重问题。首先,用户往往会以为登陆的是自己熟悉的网站,而它们却并不是。与钓鱼攻击采用非法URL不同的是,这种攻击使用的是合法的URL地址。

具体细节: https://blog.csdn.net/weixin_43199326/article/details/88231721

DNS递归解析和迭代解析的更多相关文章

  1. DNS递归和迭代原理

    11.3.7 DNS递归解析原理 “递归解析”(或叫“递归查询”,其实意思是一样的)是最常见,也是默认的解析方式.在这种解析方式中,如果客户端配置的本地名称服务器不能解析的话,则后面的查询全由本地名称 ...

  2. linux dns子域授权 split分离解析 缓存dns服务器

    DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...

  3. DNS 递归/迭代 原理

    递归查询 递归:客户端只发一次请求,要求对方给出最终结果.一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结 ...

  4. DNS的工作原理及解析

    DNS协议是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 一.什么是DNS? DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次 ...

  5. DNS服务器原理简述、搭建主/从DNS服务器并实现智能解析

    1. TLD:Top Level Domain 顶级域名 组织域:.com, .net, .org, .gov, .edu, .mil 国家域:.iq, .tw, .hk, .jp, .cn, ... ...

  6. 十五.DNS子域授权、分离解析、缓存DNS服务器

    1.搭建基本DNS服务器 pc7: 1.1 安装软件包 ]# yum -y install bind-chroot bind bind         //域名服务包 bind-chroot  //提 ...

  7. 【死磕 Spring】—– IOC 之解析Bean:解析 import 标签

    原文出自:http://cmsblogs.com 在博客[死磕Spring]----- IOC 之 注册 BeanDefinition中分析到,Spring 中有两种解析 Bean 的方式.如果根节点 ...

  8. XML 解析之 jaxp 解析器

    XML 的解析方式有两种方式: DOM 解析和 SAX 解析. DOM 解析: 根据 XML 的层级结构, 在内存中分配一个树形结构, 把 XML 的标签, 属性和文本都封装成对象. 优点: 可以实现 ...

  9. Laravel开发:Laravel核心——Ioc服务容器源码解析(服务器解析)

    make解析 服务容器对对象的自动解析是服务容器的核心功能,make 函数.build 函数是实例化对象重要的核心,先大致看一下代码: public function make($abstract) ...

  10. xml解析之----DOM解析

    DOM模型(documentobject model) •DOM解析器在解析XML文档时,会把文档中的全部元素.依照其出现的层次关系.解析成一个个Node对象(节点). •在dom中.节点之间关系例如 ...

随机推荐

  1. Intellij Idea/Webstorm/Phpstorm 版本控制忽略文件

    本地差异化配置,不需要提交,这时候需要在整个版本控制中忽略掉文件的提交. File -> Settings -> Version Control -> Ignored Files

  2. AJAX-----05XMLHttpRequest对象的用post方式进行ajax请求

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. w3school一个学习编程的好地方!

    http://www.w3school.com.cn/index.html 每天过来学习几篇.

  4. Hibernate-一对多的关系维护

    一对多 和多对一 一般是看需求来确定的,很多时候都是设置成双向的 举个最最普通的离子 :一个班级里面有多个学生 多个学生属于一个班级 从学生表来看 就是多对一的关系 从班级表来看就是一对多的关系 需求 ...

  5. Graph database_neo4j 底层存储结构分析(7)

    3.7  Relationship 的存储 下面是neo4j graph db 中,Relationship数据存储对应的文件: neostore.relationshipgroupstore.db ...

  6. java新手笔记31 集合实现类

    Person类: package com.yfs.javase; import java.util.Date; public class Person implements Comparable { ...

  7. Qt编程之在QGraphics scene中使用图片

    http://stackoverflow.com/questions/5960074/qimage-in-a-qgraphics-scene http://stackoverflow.com/ques ...

  8. 企业架构研究总结(40)——TOGAF架构能力框架之架构合同、成熟度模型和架构技能框架

    5. 架构合同 架构合同是在开发团体和赞助者之间关于架构的交付物.质量以及适用目标的联合协议,并且通过有效的架构治理将会促使这些协议的成功施行.通过对合同的管理施行一个治理方法,如下几点将会得到保障: ...

  9. Base64图片编码优化

    通过对图片进行base64编码,将base64(或其他数据)内嵌在image标签的属性当中(或者CSS中或JavaScript中),可以实现将图片直接嵌入代码中的目的,如此一来,可以减少HTTP请求, ...

  10. java线程池的使用

    一.简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的.在jdk1.5之后这一情况有了很大的改观.Jdk1.5之后加入了java.uti ...