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

DNS 查询服务器的基本流程

查询顺序:浏览器缓存–> 操作系统缓存–> 本地 host 文件 –> 路由器缓存–> ISP DNS 缓存 –> 顶级 DNS 服务器/根 DNS 服务器

1. 浏览器缓存: 首先会向浏览器的缓存中读取上一次访问的记录,在 chrome 可以通过地址栏中输入 chrome://net-internals/#dns 查看缓存的当前状态 。

2. 操作系统缓存: 查找存储在系统运行内存中的缓存。在 mac 中可以通过下面的命令清除系统中的 DNS 缓存。
dscacheutil -flushcache

3. 本地 host 文件: 查看本地硬盘的 hosts 文件,看看其中有没有和这个域名对应的规则,如果有的话就直接使用 hosts 文件里面的 ip 地址。

4. 路由器缓存: 有些路由器也有 DNS 缓存的功能,访问过的域名会存在路由器上。

5. ISP DNS 缓存: 互联网服务提供商(如中国电信)也会提供 DNS 服务,比如比较著名的 114.114.114.114,在本地查找不到的情况下,就会向 ISP 进行查询,ISP 会在当前服务器的缓存内查找是否有记录,如果有,则返回这个 IP,若没有,则会开始向根域名服务器请求查询。

6. 顶级 DNS 服务器 / 根 DNS 服务器: 根域名收到请求后,会判别这个域名(.com)是授权给哪台服务器管理,并返回这个顶级 DNS 服务器的 IP。请求者收到这台顶级 DNS 的服务器 IP 后,会向该服务器发起查询,如果该服务器无法解析,该服务器就会返回下一级的 DNS 服务器 IP(baidu.com),本机继续查找,直到服务器找到(www.baidu.com)的主机。
最后,本地 DNS 服务器向域名的解析服务器发出请求,这时就能收到一个域名和 IP 地址对应关系,本地 DNS 服务器不仅要把 IP 地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。

过程图

上述图片是查找 www.google.com 的 IP 地址过程。首先在本地域名服务器中查询 IP 地址,如果没有找到的情况下,本地域名服务器会向根域名服务器发送一个请求,如果根域名服务器也不存在该域名时,本地域名会向 com 顶级域名服务器发送一个请求,依次类推下去。直到最后本地域名服务器得到 google 的 IP 地址并把它缓存到本地,供下次查询使用。从上述过程中,可以看出网址的解析是一个从右向左的过程: com -> google.com -> www.google.com。但是你是否发现少了点什么,根域名服务器的解析过程呢?事实上,真正的网址是 www.google.com.,并不是我多打了一个.,这个.对应的就是根域名服务器,默认情况下所有的网址的最后一位都是.,既然是默认情况下,为了方便用户,通常都会省略,浏览器在请求 DNS 的时候会自动加上,所有网址真正的解析过程为: . -> .com -> google.com. -> www.google.com.。

什么是 DNS 劫持?

在 DNS 的解析中返回了一个假的 IP 地址给客户端,从而促使用户访问了错误的网站。

DNS 劫持的方法

1. 本机 DNS 劫持
攻击者通过某些手段使用户的计算机感染上木马病毒,或者恶意软件之后,恶意修改本地 DNS 配置,比如修改本地 hosts 文件,缓存等
2. 路由 DNS 劫持
很多用户默认路由器的默认密码,攻击者可以侵入到路由管理员账号中,修改路由器的默认配置
3.攻击 DNS 服务器
直接攻击 DNS 服务器,例如对 DNS 服务器进行 DDOS 攻击,可以是 DNS 服务器宕机,出现异常请求,还可以利用某些手段感染 dns 服务器的缓存,使给用户返回来的是恶意的 ip 地址

  • Post title:DNS 查询服务器的基本流程是什么?DNS 劫持是什么?
  • Post author:xxxixxxx
  • Create time:2021-02-12 15:00:00
  • Post link:https://xxxixxx.github.io/2021/02/12/1000-009DNS 查询服务器的基本流程是什么?DNS 劫持是什么?/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments