本文目录导读:

- 方法一:使用命令行直接对比(最准确、通用)
- 方法二:访问HTTPS网站观察浏览器行为
- 方法三:访问特定网站测试(检测域名劫持)
- 方法四:检查本地系统/路由器配置(源头检测)
- 方法五:使用在线检测工具(便捷)
- 遇到DNS劫持怎么办?
检测DNS劫持的核心思路是:对比你实际访问的IP地址,与理论上应该访问的IP地址是否一致。
DNS劫持分为本地劫持(篡改你的电脑/路由器设置)和网络劫持(在运营商或公共WiFi层面篡改响应),以下是五种实用的检测方法,从简单到专业排序:
使用命令行直接对比(最准确、通用)
这种方法不依赖第三方工具,直接对比本地的DNS解析结果和DNS原始服务器的解析结果。
步骤(以Windows为例,Mac/Linux类似):
- 打开命令行(Win+R,输入
cmd)。 - 检测本地DNS解析结果(查询当前系统使用的DNS服务器返回的结果):
nslookup www.baidu.com
记下显示的
Address(IP地址)。 - 检测DNS根服务器/权威服务器结果(绕过本地DNS,直接问根服务器):
nslookup www.baidu.com 8.8.8.8
这里
8.8.8是Google的公共DNS,你也可以用114.114.114(国内)或1.1.1(国外)。 - 对比结果:
- 如果两次返回的IP地址一致,说明当前网络DNS解析正常。
- 如果两次返回的IP地址不同,且第二次(使用8.8.8.8)访问的IP是正常的(比如百度是110.x.x.x),而第一次访问的IP是你没见过的陌生IP或直接指向了某个提示“可能存在风险”的页面,那基本可以确定被劫持。
访问HTTPS网站观察浏览器行为
现代浏览器对HTTPS证书有严格验证。
- 正常情况:地址栏显示绿色锁🔒,点击锁可以看到证书信息。
- 被劫持(中间人攻击):
- 浏览器会弹出红色警告页面:“您的连接不是私密连接”、“NET::ERR_CERT_COMMON_NAME_INVALID” 或 “证书错误”。
- 注意:有些网络(如公司内网、校园网)会部署自己的代理证书,这不算恶意劫持,但属于网络监控,如果在家里的网络突然出现大量这类错误,说明有第三方在伪造证书。
访问特定网站测试(检测域名劫持)
某些网站/域名是DNS劫持的重灾区:
- 访问百度/阿里/腾讯等大厂站点:输入
www.baidu.com,如果跳转到某个广告页面、赌博网站或“天翼宽带”的登录页面,则被劫持。 - 访问非HTTPS的纯HTTP网站:劫持通常发生在HTTP协议下,你可以找一个只支持HTTP的旧网站(如某些高校旧门户),如果页面被插入了浮动广告或右下角弹窗,这通常是DNS劫持或HTTP注入。
检查本地系统/路由器配置(源头检测)
如果方法一和二都显示正常,但网络总感觉奇怪(如经常打开错误页面),可能是设备自身被篡改。
- 检查电脑DNS设置:
- Windows:
控制面板 -> 网络和共享中心 -> 更改适配器设置 -> 右键当前网卡 -> 属性 -> Internet协议版本4(TCP/IPv4) -> 属性。 - 检查:应该是“自动获得DNS服务器地址”,如果被手动填写为
168.1.1以外的IP(如114.114.114或8.8.8是正常的),或者填了一个奇怪的IP,则被劫持。
- Windows:
- 检查路由器DNS设置:
- 登录路由器管理后台(通常是192.168.1.1或192.168.0.1)。
- 找到“网络参数”或“WAN口设置”或“DHCP服务器”。
- 查看“DNS服务器”是否被改为奇怪的地址(如某些运营商的劫持广告地址)。
使用在线检测工具(便捷)
有一些专业网站可以帮你从全球多个节点检测某个域名的DNS解析情况:
- WhatIsMyDNS.net:输入你的域名,它会显示从世界各地DNS服务器解析出的IP,如果大部分服务器返回的是同一个IP,而只有少数或你的IP返回不同,说明你这边有问题。
- DNSSEC-Tools测试:如果你的域名启用了DNSSEC(域名系统安全扩展),劫持者篡改的数据包会被验证失败,浏览器或工具会直接报错。
遇到DNS劫持怎么办?
如果确认被劫持,可以按以下顺序解决:
- 修改DNS服务器:
- 将电脑或路由器的DNS手动改为公共安全DNS,如:
- 阿里DNS:
5.5.5/6.6.6 - 114DNS:
114.114.114/114.115.115 - 腾讯DNS:
29.29.29
- 阿里DNS:
- 将电脑或路由器的DNS手动改为公共安全DNS,如:
- 使用DoH(DNS over HTTPS):
- 在浏览器(Chrome/Firefox/Edge)设置中开启“使用安全DNS”,填入
https://dns.alidns.com/dns-query或https://doh.114dns.cn/dns-query,这会把DNS查询内容加密,运营商无法劫持。
- 在浏览器(Chrome/Firefox/Edge)设置中开启“使用安全DNS”,填入
- 杀毒与修复:
- 运行杀毒软件(火绒、360等)进行全盘扫描,尤其注意劫持浏览器快捷方式的病毒。
- 重置Winsock目录:在命令行输入
netsh winsock reset(仅限Windows)。
- 联系运营商:
如果以上方法都无法解决,且出现在所有设备上(手机、电脑、电视都受影响),很可能是运营商层面的DNS劫持(例如访问HTTP页面被强制弹窗广告),直接打电话给宽带客服投诉,要求他们“不要做DNS劫持”。
| 场景 | 检测方法 | 推荐指数 |
|---|---|---|
| 立竿见影 | nslookup 对比命令 |
⭐⭐⭐⭐⭐ |
| 日常浏览 | 观察HTTPS锁图标是否绿色 | ⭐⭐⭐⭐ |
| 查源头 | 检查路由器/电脑DNS设置 | ⭐⭐⭐⭐ |
| 深度排查 | WhatIsMyDNS.net 在线工具 | ⭐⭐⭐ |
| 防患未然 | 直接开启浏览器的DoH加密DNS | ⭐⭐⭐⭐⭐ |
最推荐的做法:直接把路由器的DNS设为 5.5.5 和 114.114.114,同时在电脑浏览器中开启“安全DNS”并使用上述地址,这样基本上可以从根源上避免绝大多数DNS劫持。