DNS 劫持及解决方案之 HTTPDNS
DNS 即域名系统(Domain Name Server),其主要用于将域名解析为对应的 IP 地址。 那么为什么会有域名到 IP 地址的解析这一需要呢?就需要从人的角度和计算机的角度去分析了。 人的角度: 网络上的主机一般是通过 IP 地址唯一确定,但 IP 不便于人们记忆,如果每个人都需要通过 IP 来访问其他主机,那记忆量太大了,因此才借用域名来间接地标识一台主机。比如常见的域名有: www.baidu.com, 其 IP 地址为 202.108.22.5。 计算机的角度: 人是方便记忆了,但是计算机的网络通信层(IP 层)只认 IP 地址。人想要访问其他主机必须通过计算机实现,因此光有域名还无法达到目的,于是计算机需要多干一件事,那就是根据人提供的域名去获得相应的 IP。 DNS 的来源上面已经解释了,DNS 劫持是指在劫持的网络范围内(类似于白名单)拦截域名解析的请求,分析请求的域名,把审查范围以外(类似于黑名单)的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。TCP 管发管到,UDP 管发不管到。因此,在安全性方面来说,TCP/IP更具有优越性,DNS 的域名解析基于 UDP 协议实现,极易发生 DNS 劫持。 传统 DNS 解析域名的最大弊端就是易被劫持,直接降低互联网用户的使用体验。比如你想访问 www