一、DNS劫持:篡改"导航"
DNS解析相当于把网址(谷歌)翻译成IP地址(服务器位置)。
1. 强制解析(改路标)
正常流程:你输入谷歌 → DNS服务器 → 返回谷歌的IP地址。
劫持流程:运营商修改了自己的DNS服务器,查谷歌时,直接返回百度的IP地址。你以为是导航带错了,其实是路标被换了。
2. 302跳转(设关卡拦截)
运营商在你的网络出口装了个"分析器"。当它发现你要访问谷歌,立刻在你收到谷歌回复之前,抢先伪造一个"请去百度"的指令(302重定向)发给你。你的浏览器信以为真,就自动跳转了。
二、HTTP劫持:篡改"包裹"
HTTP是明文传输,数据像没封口的快递箱,途经运营商设备时谁都能看到里面装了什么。
实现过程
你请求谷歌首页 → 运营商设备 → 发现是HTTP明文流量 → 在谷歌返回的数据里强行插入一段广告代码(贪玩蓝月)→ 你浏览器收到的就是带广告的页面。
这跟你访问正规网站时,浏览器下方弹窗说"恭喜中奖"是同一个原理——你看到的内容被中间人"加料"了。
总结区别
- DNS劫持:在寻址阶段动手脚,让你走错门(域名解析环节)。
- HTTP劫持:在数据传输阶段动手脚,让你拿到的包裹被塞了传单(内容篡改环节)。
现在主流网站普遍启用HTTPS加密,相当于给包裹加了锁,能有效防止HTTP劫持这种"塞传单"的行为。