域名拦截检测和 DNS 污染有什么区别?
都表现为「打不开」,但发生的环节完全不同。
DNS 污染:解析阶段就错了
你查域名,返回的 IP 不是你的服务器。
可能是个无关地址、保留地址,或者干脆解析失败。浏览器拿着这个错误的 IP 去连,当然连不上。
特征是:用不同 DNS 查询,结果不一样。运营商 DNS 返回错的,公共 DNS 返回对的,基本就能确认。
拦截:解析是对的,连接被断
域名解析到正确的 IP,但连接建立不起来,或者刚建立就被重置。
也可能连上了,但返回的是运营商提示页或者跳转页面。
特征是:解析正常,Ping 可能通,但 HTTP 请求失败或异常。
怎么分别确认
查 DNS:多节点解析,看返回的 IP 对不对、各地是否一致。
测拦截:多节点发起真实请求,看连接是否被重置、是否跳转。
两个结果放一起,结论就很清楚:解析错 = 污染,解析对但连接异常 = 拦截。
处理方式也不同
DNS 污染:换 DNS 服务商、上 DNSSEC、用 HTTPDNS,或者调整解析线路。
拦截:走合规流程,整改内容或备案,技术手段只能改善访问,不能解决根因。
方向搞反了,做多少都是白费。
为什么容易混
因为两者都会导致「网站打不开」,用户感知是一样的。
而且有时候会同时发生:域名先被污染,连接层又被拦。这时候只测一个,很容易得出片面结论。
排查顺序
永远先查 DNS。解析都不对,谈连接层没有意义。
解析正常,再测拦截。这个顺序能少走很多弯路。