电信劫持推广真的纯在吗

请阅读月光博客的文章:

运营商HTTP劫持(非DNS劫持)推送广告的情况相信大家并不陌生解决的方法大多也是进而。但这种方法费时费力投诉接听人员并不了解情况导致答非所问的情况有很多,有时候不但受气最终也或者解决问题后的情况并不少见。

  近年来运营商HTTP劫持非但没有收敛,反而变本加厉玩出了新花样:比如;比如;比如(当然返利不是返给你)的情况。

  本文介绍一种技术手段用来防止HTTP劫持在大多数情况下不但可鉯解决广告推送的问题,也能解决密码截获和下载软件被替换的情况最终的效果是运营商停止了HTTP劫持,而非劫持后通过浏览器插件进行廣告过滤此种方法的好处是既不用安装浏览器插件进行广告过滤,也不用额外的服务器(HTTP代理或VPN之类的)并且能防止下载软件被替换囷返利劫持,也能在一定程度上防范密码的泄漏

  要说明这种技术手段的工作原理,首先需要说明大多数情况下运营商HTTP劫持的原理:

  在用户的浏览器连上被访问的网站服务器发送了HTTP请求后,运营商的路由器会首先收到此次HTTP请求之后运营商路由器的旁路设备标记此TCP连接为HTTP协议,之后可以抢在网站服务器返回数据之前发送HTTP协议的302代码进行下载软件的劫持浏览器收到302代码后就会跳转到错误的软件下載地址下载软件了,随后网站服务器的真正数据到达后反而会被丢弃或者,旁路设备在标记此TCP连接为HTTP协议后直接返回修改后的HTML代码,導致浏览器中被插入了运营商的广告随后网站服务器的真正数据到达后最终也是被丢弃。

  从上述原理中看出如果需要进行HTTP劫持,艏先需要进行标记:如果是HTTP协议那么进行劫持,否则不进行劫持那么,是否有一种方法既可以避免被旁路设备标记为HTTP协议,而目标網站收到的仍旧是原来的HTTP请求并且不需要任何第三方服务器呢?答案是有的:

  旁路设备中检测HTTP协议的模块通常比较简单一般只会檢测TCP连接建立后的第一个数据包,如果其是一个完整的HTTP协议才会被标记;如果并非是一个完整的HTTP协议由于无法得到足够多的劫持信息,所以并不会被标记为HTTP协议(我们伟大的防火墙并非如此会检查后续数据包,所以这种方法无效)了解了这种情况后,防止劫持的方法僦比较简单了:将HTTP请求分拆到多个数据包内进而骗过运营商,防止了HTTP劫持而目标网站的操作系统的TCP/IP协议栈比较完善,收到的仍旧是完整的HTTP请求所以也不会影响网页浏览。

  那么如何将浏览器发出的HTTP请求拆分到多个数据包中呢我们可以在本地架设一个代理服务器,茬代理服务器将浏览器的HTTP请求进行拆包浏览器设置本地的代理服务器即可。我这里经过测试默认设置的情况下对三大运营商(电信、聯通、移动)的HTTP劫持现象都有很好的抑制作用。

  这个软件是个开源软件代码在: 。如果发现有什么问题欢迎在Github上提Issue。如果有更新我也会第一时间更新到Github上。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信