什么是DNS、DNS污染劫持和DNS加密(DoH/DoT)

编辑于:2023年06月07日

什么是DNS、DNS污染劫持和DNS加密(DoH/DoT)

DNS是进入互联网世界的第一步。那么DNS到底是什么有何作用?常常听到的DNS污染和DNS劫持又是咋回事?DNS加密DoHDoT分别是什么?在玩机大学,虫子菌和各位同学一起了解和探讨这些问题。

1.DNS 是什么,有何作用?

1.1 DNS 的有什么作用?

在手机通讯录,找到张三并按下拨打键,在这个过程中,手机拨打的并非张三这两个字,而是张三背后对应的一串手机号;在互联网世界,DNS 就是域名的通讯录,负责把网址解析成正确的 IP 地址。

通俗来讲,当你在 Chrome 浏览器 打开百度搜索 www.baidu.com 这个网址(张三)时,从 浏览器控制台 可以看出,你真正打开的是该网址对应的 103.235.46.39 这个 IP 地址(手机号),IP 地址如此复杂很难记忆,于是就有了DNS(通讯录)负责在浏览器后台自动将网址转换成IP

所以,访问网站的本质就是访问该网站的 IP 地址,我们将百度搜索的 IP 地址 103.235.46.39 复制到浏览器地址栏打开,页面显示的内容和 www.baidu.com 显示的一摸一样。

1.2 一个网址可以有多个 IP 吗?

当然。就像张三可以有多个手机号码,一个网址也可以绑定多个 IP 地址。我们 ping 一下 www.baidu.com 从结果中可以看到,不同的地区访问百度搜索时,解析到的 IP 地址有很多变化。

1.3 为什么有的 IP 地址打不开?

并非所有网站都可以使用解析到的 IP 地址直接访问,比如知乎(www.zhihu.com)就做了一些限制,只允许通过域名访问而无法使用 IP 访问。

2. 什么是DNS污染、DNS劫持?

两者最大的区别,DNS 污染是阻断你访问网站,目的是不让你访问;DNS 劫持则是让你访问一个虚假的李鬼网站,或者在你访问的网站上擅自插入自己的广告,以及私自增加 DNS 缓存时间等。

2.1 DNS 污染

又称域名服务器缓存投毒(DNS cache poisoning),是指把域名指往不正确的 IP 地址。比如张三的手机号明明是 11 位的中国电信手机号码,通讯录却写的是 10 位数的美国人赫本的手机号,跨国长途自然是打不通或者打通了也不是张三的结果。

2.2 DNS 劫持

DNS 劫持一般是提供上网服务的运营商所为,用户查询 DNS 时,返回修改后的指定 IP 地址,网页无法打开或者打开的是一个假网站,或插入自己的广告。

比如张三是卖茶叶的,你找张三想买一些茶叶,通过通讯录打过去,结果通讯录从中使坏,将手机号写成了也是卖茶叶的李四,最终你以为买的茶叶是张三的,实际上茶叶是李四。

3. DNS 加密方式:DoH/DoT

3.1 DoH 和 DoT

传统 DNS 查询数据以明文方式传输,容易被污染和劫持,非常的不安全;使用加密 DNS 可以避免运营商的劫持,以及使用大数据分析你所有访问的网站详情。

DoH 全称 DNS Over HTTPS,使用 HTTPS 应用层协议代替传统的无连接无加密的 UDP 模式,保护 DNS 数据传输安全,可有效避免域名被运营商劫持、DNS 缓存投毒等域名安全问题。

DoT 全称 DNS over TLS,安全原理与 DoH 一样都是使用 TLS 协议来传输 DNS 协议;采用固定的 853 端口,特征明显;比 DOH 少了一层 HTTP,理论上性能略高于 DOH。

3.2 公共加密 DNS 服务

目前已有多个国内外公共 DNS 提供加密 DNS 服务,如:

  • ⭕国内的:只能保证不劫持 国家地方联合工程研究中心的 IPv6 公共 DNS、腾讯 DNS (DNSPod)、阿里 DNS (Alidns)云、360 安全 DNS ;
  • ⭕国外的:多数国内不可用 Google Public DNS、Cloudflare DNS、Quad9 DNS、OpenDNS 等;

相关推荐

暂无评论