首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

防治运营商HTTP劫持的终极技术手段

运营商HTTP劫持(非DNS劫持)推送广告的情况相信大家并不陌生,解决的方法大多也是投诉增值业务部门进而投诉工信部。但这种方法费时费力,投诉接听人员并不了解情况导致答非所问的情况有很多,有时候不但受气最终也没能完全解决问题,或者解决问题后过了一段时间复发的情况并不少见。   近年来,运营商HTTP劫持非但没有收敛,反而变本加厉,玩出了新花样:比如通过HTTP劫持进行密码截获的活动;比如下载软件被替换的情况;比如劫持进行返利(当然返利不是返给你)的情况。   本文介绍一种技术手段用来防止HTTP劫持,在大多数情况下不但可以解决广告推送的问题,也能解决密码截获和下载软件被替换的情况。最终的效果是运营商停止了HTTP劫持,而非劫持后通过浏览器插件进行广告过滤。此种方法的好处是既不用安装浏览器插件进行广告过滤,也不用额外的服务器(HTTP代理或VPN之类的),并且能防止下载软件被替换和返利劫持,也能在一定程度上防范密码的泄漏。 防治运营商HTTP劫持的终极技术手段 我的博客:CODE大全:www.codedq.net;业余草:www.xttblog.com;爱分享:www.ndislwf.com或ifxvn.com。   要说明这种技术手段的工作原理,首先需要说明大多数情况下运营商HTTP劫持的原理:   在用户的浏览器连上被访问的网站服务器,发送了HTTP请求后,运营商的路由器会首先收到此次HTTP请求,之后运营商路由器的旁路设备标记此TCP连接为HTTP协议,之后可以抢在网站服务器返回数据之前发送HTTP协议的302代码进行下载软件的劫持,浏览器收到302代码后就会跳转到错误的软件下载地址下载软件了,随后网站服务器的真正数据到达后反而会被丢弃。或者,旁路设备在标记此TCP连接为HTTP协议后,直接返回修改后的HTML代码,导致浏览器中被插入了运营商的广告,随后网站服务器的真正数据到达后最终也是被丢弃。   从上述原理中看出,如果需要进行HTTP劫持,首先需要进行标记:如果是HTTP协议,那么进行劫持,否则不进行劫持。那么,是否有一种方法,既可以避免被旁路设备标记为HTTP协议,而目标网站收到的仍旧是原来的HTTP请求,并且不需要任何第三方服务器呢?答案是有的: 我的博客:CODE大全:www.codedq.net;业余草:www.xttblog.com;爱分享:www.ndislwf.com或ifxvn.com。   旁路设备中检测HTTP协议的模块通常比较简单,一般只会检测TCP连接建立后的第一个数据包,如果其是一个完整的HTTP协议才会被标记;如果并非是一个完整的HTTP协议,由于无法得到足够多的劫持信息,所以并不会被标记为HTTP协议(我们伟大的防火墙并非如此,会检查后续数据包,所以这种方法无效)。了解了这种情况后,防止劫持的方法就比较简单了:将HTTP请求分拆到多个数据包内,进而骗过运营商,防止了HTTP劫持。而目标网站的操作系统的TCP/IP协议栈比较完善,收到的仍旧是完整的HTTP请求,所以也不会影响网页浏览。   那么如何将浏览器发出的HTTP请求拆分到多个数据包中呢?我们可以在本地架设一个代理服务器,在代理服务器将浏览器的HTTP请求进行拆包,浏览器设置本地的代理服务器即可。我这里经过测试,默认设置的情况下对三大运营商(电信、联通、移动)的HTTP劫持现象都有很好的抑制作用。

04

知识星球推出三大新功能,再也不怕被忽悠了。

大家知道我在去年的时候开通了知识星球,刚开始是按照一年66元的费用开通的圈子,运营了一段时间后,我希望这个圈子可以成为有共同信念的朋友深入交流的地方,因此从年付费改为了一次加入永久免费。 现在距离我开通知识星球已经过去了320天,一共有180多位的朋友加入,每天在群里讨论问题聊聊人生,感觉和大家的距离也近了很多。其实每天找我问问题的朋友很多,而且内容也千奇百怪,如果每个问题都回答的话,基本上一天就不用工作了。知识星球其实也在一定程度上面解决了这个问题,做了一次筛选,找出真正需要交流的朋友。对于那些没有给与

01

庞氏骗局、市场操纵——关于区块链的几篇论文的读书笔记

Detecting Ponzi Schemes on Ethereum: Towards Healthier Blockchain Technology讲了庞氏骗局的检测。庞氏骗局是一种早就出现的骗局,它是通过从后来投资者取得的资金,作为“返利”返回给之前的投资者,虚假宣传,让投资者以为一定可以从中获利,而不断给其打钱,但可想而知,一旦发起骗局的人终止了,那么后来加入投资的那些人肯定收不到返利,资金就这样被骗走了。实际也表明,能从中获利的投资者占少部分,大部分参与者的利益是收到严重损害的,而获利最大的就是骗局的发起者。而智能合约由于其自动执行且不可终止,加上账户的匿名性,成为了庞氏骗局的一个很好的栖息地及保护伞。无疑,检测并预警庞氏骗局迫在眉睫。要检测智能庞氏骗局,首先能想到的办法就是可以根据智能合约的源码来手动判断,但这样工作量非常大,也不能实时监控,并且智能合约只需要通过字节码部署,没必要公开其源代码,所以其实以太坊上公开的源代码的合约并不多。所以更好的思路是从字节码入手,通过数据挖掘、机器学习的手段识别并预警智能庞氏骗局。首先,将智能合约的字节码反解成操作码是简单可行的,然后通过操作码的代码特征,如某个词出现的频率,可以判断其是否可能为庞氏骗局。此外,智能庞氏骗局有其独特的账户和交易行为特征,如参与者不多,多次参与,收益随机,大部分投资者没有回报,前期投资者回报次数较多,合约大部分只支付给曾经的投资者,投资次数与收益次数变异很大等,所以可以通过这些特征进行识别。这两个思路结合起来便是智能庞氏骗局的一个识别方法,这一方法无需源代码,在智能合约部署时即可识别庞氏骗局,且实验表明效果较好,有利于相关机构建立监管机制帮助投资者避免损失,帮助区块链技术更好的发展。

02
领券