当前位置 主页 > 本站WEB程序 > 安全 > IIS7网站监控 >
目前我们遇到的网络劫持大多是运营商劫持,也就是http劫持,首先来说说运营商劫持的背景:
中国的网络环境相对复杂,除了电信、联通、移动是比较大的网络接入厂商,此外包含长城宽带、鹏博士、教育网、科技网、广电等等不少于20多家的小运营商。而且各个省市是相互独立运营。这就会导致网络出现跨网、跨运营商的情况会特别多,基本上很难避免。而各个运营商之间的出口带宽不尽相同,这很能是成为网络高峰的瓶颈。同时这种大量跨网访问的流量,在运营商之间会产生一笔很大的结算费用。也就是 说运营商之间的互通是需要收费的。
作为运营商,面对这么大的带宽流量。该如何保障用户体验,减小自身成本呢。于是,他们找到了网络劫持的方案。
劫持的原理
运营商劫持大致分为两种方式:
➤DNS强制解析的方式
➤访问请求的302跳转。
DNS强制解析是通过修改运营商的本地DNS记录,来引导用户流量到缓存服务器。工作的方式如下:
用户通过域名发起访问请求;
请求通过本地DNS进行解析;
运营商DNS设置强制解析策略;
即所有该域名的请求都解析到事先写好的服务器上;
终端用户到劫持服务器交互访问;
劫持服务器如果有需要的访问内容,则直接返回响应给用户;如果没有,则去源站同步内容。
302跳转的方式和DNS强制解析的方式主要在引流的方式上有所区别。内容缓存是通过监控网络出口的流量,分析判断哪些内容是可以进行劫持处理的。再对劫持的内存发起302跳转的回复,引导用户获取内容。其需要对上行的请求流量进行端口镜像或者分光处理。可以理解成复制一份上行的流量信息 。工作的方式如下:
终端用户发起访问请求;
流量通过网络出口对外发起访问;
访问流量被镜像一份给劫持系统的DPI设备;
DPI对流量进行分析判断,比如http get、80端口等数据
缓存系统判断是否热点资源,比如连续请求5次的相同内容;
给用户发送响应请求,告诉客户本地即是客户需要访问的内容;
由于本地的缓存系统离客户更近,所以客户更早收到缓存系统的响应;
用户和本地的缓存系统建立网络交互,源站的响应回来的晚,会自动断开;
如果本地有缓存内容,则给用户响应内容,如果本地没有,会计算访问次数。当达到响应的内容时。
劫持的影响
从两种运营商缓存的特点来看,二者都是通过获取用户的数据流量,引导用户访问内容缓存的服务器。区别在于引导用户的方式,DNS强制解析是通过修改域名解析记录,强制将域名下的所有请求引导到劫持服务器上。这种方式简单粗暴,也容易造成很多问题。比如域名下有动态内容,也会被缓存下来。这样会造成登录的串号的问题。缓存的内容更新不及时,访问的都是老内容。这也是很多用户所不能接受的地方。一些冷门资源的缓存,会造成存储的浪费。流量劫持的方式需要镜像用户流量,进行分析判断。缓存一些系统判断是可以缓存的热点内容。DNS强制解析主要针对图片,302跳转主要针对下载文件,音视频等大文件。
运营商应用劫持系统可以带来的好处是:
减少跨网传输的访问,减少运营商之间的网间费用结算。国内各个地区、运营商都是独立运营的,日常互联产生的流量是需要进行费用结算的。而这笔费用其实是一笔庞大的开销,而且需要持续结算。
大多数运营商之间的网络出口都在几十至几百G不等,内容缓存系统可以有效减小网络高峰时出口带宽的压力,这样既可减少对互通网络的扩容。减少网络建设的费用。
由于缓存系统可以支持本地化服务,在一定程度上也可以达到加快网络访问的目的,提升用户体验。
由于运维系统的人员不可能及时获取到劫持内容的更新,或者对劫持的内容做其他的,坏处是:
经常访问到过期的内容,文件更新缓慢。导致获取不到自己想要的信息。
跳转到其他网站页面,或者被插入牛皮癣广告。
为了减少运营商缓存和劫持带来的影响,目前很多企业开始使用HTTPS的方式。以此保证内容被篡改的可能性被降低。