跳转至

DNS

DNS(Domain Name System,域名系统)是一种将域名转换为 IP 地址的系统。

说人话

DNS 说人话就是相当于是电话簿,将人名( 域名 )和对应的电话( IP 地址 )记录下来。因为浏览器不能直接使用域名进行访问,必须通过 IP 地址进行访问。在 Windows 中的 C:\Windows\System32\drivers\etc\hosts 文件中也存有常用的域名与 IP 的对应关系,但是一个文件甚至一台普通电脑肯定装不下全世界所有的域名和 IP 地址的对应关系,就好像你不可能将全世界 70 多亿人的手机号存进自己的电话簿里面一样。

1.png

于是就独立出一个服务器,让这台服务器专门去存储这个世界绝大多数的域名和 IP 地址的映射表,这个服务器就是我们所说的 DNS 服务器。

所以当一个 DNS 服务器的反应时间越快,网站的资源加载速度就越快(相同网络状况下),用户体验就越好。

DNS 的工作原理

  1. 用户输入域名:比如在浏览器中输入 www.leeyearn.cn
  2. DNS查询:浏览器会向本地 DNS 服务器发送查询请求,询问 www.leeyearn.cn 的IP地址是什么。
  3. 递归查询:如果本地 DNS 服务器没有该域名的记录,它会向上级 DNS 服务器发送请求,直到找到该域名的 IP 地址。
  4. 返回IP地址:一旦找到正确的 IP 地址,DNS 服务器将其返回给请求者(浏览器)。
  5. 访问网站:浏览器使用该 IP 地址与服务器建立连接,加载网页内容。

主要组成部分

  • 域名:例如:www.leeyearn.cn
  • DNS 服务器:包括递归解析服务器和权威 DNS 服务器。递归解析服务器负责处理查询请求,权威 DNS 服务器则存储实际的域名解析记录。
  • 记录类型:常见的有A记录(IPv4 地址)、AAAA记录(IPv6 地址)、CNAME记录(别名记录)、MX 记录(邮件交换)等。

常用的 DNS 服务商

服务商 IPv4 首选 DNS IPv4 备选 DNS IPv6 首选 DNS IPv6 备选 DNS
阿里云 223.5.5.5 223.6.6.6 2400:3200::1 2400:3200:baba::1
腾讯 119.29.29.29 182.254.116.116 2402:4e00::
谷歌 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Cloudflare 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
百度 180.76.76.76 124.251.124.251 2400:da00::6666
Microsoft 4.2.2.1 4.2.2.2
OpenDNS 208.67.222.222 208.67.220.220 2620:0:ccc::2 2620:0:ccd::2
IPv6 地址

IPv6 地址实际上是由 8 组 4 位 16 进制的数组成的,他的隐式值就是把为 0 的组省略,比如2400:3200::1 的显示值就是 2400:3200:0:0:0:0:0:1 ,甚至有些需要 4 位 16 进制,那就是 2400:3200:0000:0000:0000:0000:0000:0001

因为有些设备要求为 IPv6 地址的所有八个字段提供显式值,不能接受缩写的 :: IPv6 地址语法。

DNS 污染 / 劫持

前面说到,我们在浏览器中进行网页访问是通过 DNS 将域名转为 IP 地址,但是如果这个 DNS 服务器被劫持篡改了,轻者可能会找不到我们想访问的网页或者访问到的网页全是广告,重者可能会通过复制你想访问的网页,根据你的操作获取你的用户信息密码,窃取个人资料。

虽然你从浏览器来讲,虽然你输入的域名没问题,你以为访问的是正确的网站,但是实际上给你提供的网站的服务器并不是同一个。

所以以任何方式污染或劫持 DNS 的行为,已经纳入违法行为

我国《刑法》第二百八十五条明确规定

非法侵入、控制计算机信息系统的法律责任。根据该法条,违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

劫持DNS通常涉及对计算机信息系统的非法控制,属于《中华人民共和国刑法》第二百八十五条所规定的“对该计算机信息系统实施非法控制”的行为。

法网恢恢,疏而不漏