DNS 污染怎么检测?原理、检测方法与和被墙的区别
先说人话:DNS 污染就是你在查询"这个域名对应的 IP 是谁"时,中间有人篡改了答案,把你引向一个错误的地址。你的域名本身没问题、服务器也没问题,但用户就是打不开——因为导航被动了手脚。
先搞懂原理,检测才有方向

正常流程:你在浏览器输入域名 → 向 DNS 服务器查询 → 得到真实 IP → 建立连接。
污染发生在这一步:查询请求经过某些网络节点时,返回的 IP 被替换成假的。常见现象:
- 返回一个完全陌生的 IP(打开是空白页或广告页);
- 每次查询返回的 IP 都不一样(正常域名解析结果是稳定的);
- 查询直接超时,但换个 DNS 就正常。
方法一:换 DNS 对比(最常用)
# 用运营商默认 DNS 查
nslookup yourdomain.com
# 换可信 DNS 再查
nslookup yourdomain.com 8.8.8.8
nslookup yourdomain.com 114.114.114.114
对比三次结果:
| 情况 | 结论 |
|---|---|
| 三次结果一致且正确 | 解析没问题,查别处 |
| 默认 DNS 结果异常、可信 DNS 正常 | DNS 污染实锤 |
| 三个结果都不一样、每次随机 | 典型的污染特征 |
方法二:多地解析对比
用多地 ping / DNS 检测工具,看全国各节点的解析结果。如果大部分节点返回正确 IP、只有部分节点返回异常 IP,说明是局部污染;如果大面积异常,就是普遍污染。
方法三:DoH 验证

用支持 DNS over HTTPS(DoH)的工具查询一次。DoH 是加密的 DNS 查询,中间节点看不到也篡改不了。如果 DoH 查询结果正确、普通查询结果异常,基本可以断定是传输过程中的污染。
DNS 污染 vs 被墙:一张表分清

| DNS 污染 | 被墙(连接阻断) | |
|---|---|---|
| 发生环节 | 解析阶段 | 连接阶段 |
| 解析结果 | 被篡改、错误 | 正确 |
| 能否连上真实服务器 | 不能(被带偏了) | 不能(被拦下了) |
| 换 DNS 是否有效 | 通常有效 | 无效 |
| 上 HTTPS 是否有帮助 | 有帮助(配合 DoH) | 帮助有限 |
实际中两者经常同时出现,所以查询域名是否被墙时要把两种检测都做一遍,不要只查一半。
确认污染后怎么办
- 短期:引导用户更换 DNS(如 114.114.114.114),或使用支持 DoH 的浏览器;
- 中期:全站启用 HTTPS,减少明文流量被干预的机会;
- 长期:如果污染持续且影响业务,考虑更换域名——新域名上线前记得按上线检测清单先查一遍。
污染 vs 运营商劫持:别搞混
很多人把"运营商广告劫持"也叫污染,其实是两回事:
| DNS 污染 | 运营商劫持(广告) | |
|---|---|---|
| 发生环节 | DNS 解析阶段 | HTTP 流量传输阶段 |
| 现象 | 解析到错误 IP,打不开或打开错页 | 页面被插入广告弹窗、iframe |
| 换 DNS 是否有效 | 通常有效 | 无效(劫持的是流量不是解析) |
| 上 HTTPS 是否有效 | 配合 DoH 有效 | 有效(加密流量插不进广告) |
区分方法:页面能打开但多了广告 → 劫持;解析结果直接错了 → 污染。两者可能叠加出现,处理手段也不同:劫持靠全站 HTTPS 解决,污染靠 DoH 或换域名。不要拿治污染的药去治劫持。
先排除"本地污染":路由器 DNS 被篡改
有一种"污染"不在运营商那儿,在你自己家里:路由器 DNS 设置被恶意篡改(常见于弱密码的路由器被入侵)。特征很明显:
- 家里所有设备(手机、电脑)访问都异常;
- 切到手机流量(不用 WiFi)就正常;
- 登录路由器管理后台,发现 DNS 被改成了陌生的地址。
处理:改回可信 DNS(114.114.114.114 / 8.8.8.8),修改路由器管理密码,升级固件。排查被墙/污染时,先用手机流量测一遍,能排除一大类本地问题,别一上来就怀疑运营商。
常见问题
DNS 污染是针对我的域名,还是大面积的?
两种都有。检测时看范围:只有你的域名异常,大概率是针对性的;一大批不相关的域名同时异常,可能是区域性网络问题。
污染会自己消失吗?
有可能。污染策略会调整,有时几天后恢复正常。但业务不能赌这个,该准备的备用方案还是要准备。