DNS劫持(DNS Hijacking),通俗来说,就是互联网世界的“导航欺骗”或“指路造假”。
为了让你彻底理解并解决这个问题,我将从原理、症状和解决方案三个方面为你详细拆解。
1. DNS劫持的原理:为什么你会“迷路”?
首先,我们需要理解DNS(域名系统)的作用。它就像互联网的电话本或导航仪,将你输入的网址(如 google.com)转换成计算机能识别的IP地址(如 172.217.1.1)。
正常流程:
- 你在浏览器输入网址。
- 你的电脑询问DNS服务器:“这个网址的IP是多少?”
- DNS服务器回答正确的IP。
- 浏览器访问该IP,打开网页。
劫持流程(攻击原理):
当发生DNS劫持时,在这个询问过程中出现了“坏人”:
- 中间人拦截: 攻击者(有时甚至是某些不良ISP运营商)在你的请求到达正规DNS服务器之前,拦截了你的查询。
- 伪造回复: 攻击者抢先一步,给你的电脑发送了一个假的IP地址。
- 结果: 你的浏览器以为拿到了正确地址,结果却跳转到了攻击者指定的网站(通常是满屏广告的页面、钓鱼网站,或者是无法访问的错误页面)。
比喻: 你打车说要去“市中心医院”,司机(DNS)本该带你去医院,但被某种力量控制,直接把你拉到了“莆田系诊所”或者荒郊野外。
常见的劫持手段
- ISP(运营商)劫持: 为了推送广告或节省跨网流量,运营商强行将你解析到他们的缓存服务器或广告页。
- 路由器DNS被篡改: 如果你的路由器密码太简单被黑客入侵,DNS设置会被修改,全家设备都会受影响。
- 本地Hosts文件篡改: 电脑中的病毒或流氓软件修改了系统的
hosts文件,强制指定域名的IP。
2. 如何判断自己被劫持了?
如果你遇到以下情况,很可能遭受了DNS劫持:
- 广告弹窗: 打开正常的网站(如百度、淘宝),右下角或网页中突然出现不相关的悬浮广告。
- 网页跳转: 输入一个网址,却跳转到了另一个完全无关的赌博、色情或导航网站。
- 莫名报错: 朋友能打开的网站,你却打不开,或者提示“404”,但IP地址显示很奇怪。
- 证书报警: 访问HTTPS网站时,浏览器提示“连接不安全”或证书错误(因为假IP无法提供真证书)。
3. 怎么解决 DNS 劫持?(实操指南)
解决DNS劫持的核心思路是:绕过不可信的DNS,使用加密且权威的DNS服务。
方法一:修改本地 DNS 服务器(最常用、最有效)
不要使用运营商(ISP)默认分配的DNS,手动修改为公共、无污染的DNS。
- 推荐的公共DNS:
- Google:
8.8.8.8/8.8.4.4 - Cloudflare:
1.1.1.1 - 阿里 DNS:
223.5.5.5/223.6.6.6 - 腾讯 DNSPod:
119.29.29.29
- Google:
操作步骤(以 Windows 为例):
- 打开「控制面板」 -> 「网络和共享中心」。
- 点击左侧的「更改适配器设置」。
- 右键点击你正在连接的网络(Wi-Fi或以太网),选「属性」。
- 双击 Internet 协议版本 4 (TCP/IPv4)。
- 选择「使用下面的 DNS 服务器地址」,填入上述推荐的IP即可。
方法二:开启 DoH (DNS over HTTPS)
这是目前防止劫持的终极杀招。传统的DNS查询是明文的(谁都能看,谁都能改),DoH技术将DNS查询加密封装在HTTPS流量中,让运营商和黑客无法窃听,也无法篡改。
- Chrome / Edge 浏览器开启方法:
- 进入浏览器「设置」。
- 搜索 “DNS”。
- 找到「使用安全 DNS」。
- 选择「使用当前服务提供商」或手动选择
Cloudflare/Google (Public DNS)。
方法三:检查并清理 Hosts 文件
如果是本地恶意软件作祟,修改DNS服务器没用,需要清理Hosts。
- 进入路径:
C:\Windows\System32\drivers\etc - 用记事本打开
hosts文件。 - 检查里面是否有你没见过的奇怪网址指向。
- 如果有,删除它们并保存(通常 Hosts 文件只有前面几行注释,后面应该是空的,除非你自己加过)。
方法四:修改路由器密码
登录路由器管理后台(通常是 192.168.1.1 或 192.168.0.1):
- 检查路由器的 DNS 设置是否被篡改。
- 务必修改路由器的默认管理员密码,防止再次被黑客扫描入侵。
总结
DNS劫持就是利用DNS明文传输的漏洞,给你指错误的路。
最简单的自救方案是:修改电脑/手机的DNS为 8.8.8.8 或 1.1.1.1,并在浏览器中开启“安全DNS”功能。
知乎的其他精彩回答:一文看透DNS污染、危害及解决方案 – 知乎
No responses yet