JavaDriver JavaDriver
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YoungAnn

西二旗Java老司机一枚 致力于社会主义添砖Java
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 计算机网络

    • 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手?
    • 简述常见的 HTTP 状态码的含义
    • 从输入 URL 到展现页面的全过程
    • HTTP 中 GET 和 POST 区别
    • TCP 怎么保证可靠传输
    • 什么是 TCP 粘包和拆包?
    • 简述 HTTPS 的加密与认证过程
    • 简述对称与非对称加密的概念
    • TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别?
    • 如何解决 TCP 传输丢包问题?
    • TCP 长连接和短连接有那么不同的使用场景?
    • TCP 的 keepalive 了解吗?说一说它和 HTTP 的 keepalive 的区别?
    • HTTP 与 HTTPS 有哪些区别?
    • TCP 中常见的拥塞控制算法有哪些?
    • 简述 HTTP 1.0,1.1,2.0 的主要区别
    • 从系统层面上,UDP如何保证尽量可靠?
    • TCP 挥手时出现大量 CLOSE_WAIT 或 TIME_WAIT 怎么解决?
    • 简述 TCP 滑动窗口
    • 简述TCP重传机制
    • 简述 JWT 的原理和校验机制
    • 为什么需要序列化?有什么序列化的方式?
    • 简述 iPv4 和 iPv6 的区别
    • TCP 中 SYN 攻击是什么?如何防止?
    • 简述 DDOS 攻击原理,如何防范它?
    • 什么是 ARP 协议?简述其使用场景
    • 什么是跨域,什么情况下会发生跨域请求?
    • Cookie 和 Session 的关系和区别是什么?
    • 简述 WebSocket 是如何进行传输的
    • DNS 查询服务器的基本流程是什么?DNS 劫持是什么?
      • 1、DNS是什么?
      • 2、为什么会出DNS这种东西?
      • 3、那DNS在我们生活中怎么用的?
      • 4、DNS劫持是什么?
      • 如何防止DNS劫持?
      • DNS劫持具体有哪些技术手段呢?
    • RestFul 是什么?RestFul 请求的 URL 有什么特点?
    • 简述 HTTP 报文头部的组成结构
  • 操作系统

  • 数据结构

  • 算法

  • 剑指Offer题解

  • 计算机基础
  • 计算机网络
YoungAnn
2022-09-21
目录

DNS 查询服务器的基本流程是什么?DNS 劫持是什么?

# 1、DNS是什么?

域名解析系统,可以将域名与IP地址建立映射关系,通过域名得知目标IP。

# 2、为什么会出DNS这种东西?

在网络中,想要访问主机资源或者服务器资源需要知道目标的IP地址,但是IP地址又长数字又很容易记错,而且全世界那么多IP地址我也记不住,怎么办?就需要域名来代表一个IP地址,进行相互之间的映射关系

# 3、那DNS在我们生活中怎么用的?

比如:在我们平常访问百度在网页地址栏输入: 这样我们就会进入百度的主页。

DNS实现过程

  1. 第一步:当在浏览器上输入域名时,我们的PC机会自动提出域名解析请求,并将请求发送给我们所配置的域名服务器进行解析

  2. 第二步:域名服务器收到我们PC机的域名解析请求值后,会先查询本地的缓存(DNS缓存),如果有对应的域名与IP地址条目,域名服务器会将结果直接发送给我们的PC机,不会进一步解析操作。

  3. 第三步:但是如果域名服务器的本地缓存中没有该纪录,则本地域名服务器就会把请求发给根域名服务器进行解析,然后根域名服务器收到后再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址给我们的PC机。

  4. 第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的域名服务器会继续查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

  5. 第五步:持续进行第四步的查询解析操作,直至解析到对应的纪录。

  6. 第六步:本地域名服务器把歇息到的纪录返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机

  7. 第七步:客户机收到结果后向向目标IP发出访问请求,进行访问

# 4、DNS劫持是什么?

当我们访问某个网页时,如输入百度的域名,但是进入页面时其他的网页,这就是DNS劫持。

# 如何防止DNS劫持?

通常我们使用的DNS服务器使用的是服务商域名服务器,我们出来可以向运营商反馈这种情况外,还可以将自己的DNS服务器切换为其他第三方DNS服务器,如百度DNS、阿里DNS等等都是可以的。

# DNS劫持具体有哪些技术手段呢?

  1. DNS缓存感染

攻击者使用DNS请求将数据放入脆弱的DNS服务器的缓存。然后这些缓存信息在用户进行DNS访问时返回用户,将对通常的域名的访问引导到入侵者设定的钓鱼、挂马等页面,或通过伪造邮件或其他server服务取得用户密码信息会给客人带来进一步的侵害。

  1. DNS信息劫持

TCP/IP系统避免以诸如序列号等各种方式插入钓鱼数据,但是入侵者可以通过截取客户端与DNS服务器的交互来推测服务器响应于客户端的DNS查询ID。每个DNS报告包括相关联的16位ID号,并且DNS服务器从该ID号获取请求源位置。攻击者在DNS服务器前向用户发送虚假应答,欺骗客户访问恶意网站。

  1. DNS重定向

攻击者如果将权威DNS服务器重定向到恶意DNS服务器,那么被劫持域名的解析就完全置于攻击者的控制之下。

  1. 盗用DNS服务器

在该攻击中,攻击者不仅可以破坏DNS服务器还可以改变DNS记录,将DNS请求重定向到恶意网站。

  1. 中间人(MiTM)DNS攻击

在DNS劫持中还有一种类型是,攻击者执行中间人(MiTM)攻击以截断用户与DNS服务器之间的通信,并向恶意网站重定向用户,以提供不同的目标IP地址。

  1. 流氓DNS服务器

在此攻击中,攻击者可以破解DNS服务器,并更改DNS记录以将DNS请求重定向到恶意站点。

编辑 (opens new window)
上次更新: 2022/10/09, 11:12:48
简述 WebSocket 是如何进行传输的
RestFul 是什么?RestFul 请求的 URL 有什么特点?

← 简述 WebSocket 是如何进行传输的 RestFul 是什么?RestFul 请求的 URL 有什么特点?→

最近更新
01
电商-商品系统设计
12-17
02
关于如何写OKR
12-09
03
对事不对人 vs 对人不对事
12-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 YoungAnnn | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式