网络安全

网络劫持是什么?

网络劫持是什么意思?
关注者
28
被浏览
71,035

3 个回答

目前我们遇到的网络劫持大多是运营商劫持,也就是http劫持,首先来说说运营商劫持的背景:


中国的网络环境相对复杂,除了电信、联通、移动是比较大的网络接入厂商,此外包含长城宽带、鹏博士、教育网、科技网、广电等等不少于20多家的小运营商。而且各个省市是相互独立运营。这就会导致网络出现跨网、跨运营商的情况会特别多,基本上很难避免。而各个运营商之间的出口带宽不尽相同,这很能是成为网络高峰的瓶颈。同时这种大量跨网访问的流量,在运营商之间会产生一笔很大的结算费用。也就是说运营商之间的互通是需要收费的

作为运营商,面对这么大的带宽流量。该如何保障用户体验,减小自身成本呢。于是,他们找到了网络劫持的方案。


劫持的原理


运营商劫持大致分为两种方式:

➤DNS强制解析的方式

➤访问请求的302跳转。


DNS强制解析是通过修改运营商的本地DNS记录,来引导用户流量到缓存服务器。工作的方式如下:


  1. 用户通过域名发起访问请求;
  2. 请求通过本地DNS进行解析;
  3. 运营商DNS设置强制解析策略;即所有该域名的请求都解析到事先写好的服务器上;
  4. 终端用户到劫持服务器交互访问;
  5. 劫持服务器如果有需要的访问内容,则直接返回响应给用户;如果没有,则去源站同步内容。


302跳转的方式和DNS强制解析的方式主要在引流的方式上有所区别。内容缓存是通过监控网络出口的流量,分析判断哪些内容是可以进行劫持处理的。再对劫持的内存发起302跳转的回复,引导用户获取内容。其需要对上行的请求流量进行端口镜像或者分光处理。可以理解成复制一份上行的流量信息 。工作的方式如下:

  1. 终端用户发起访问请求;
  2. 流量通过网络出口对外发起访问;
  3. 访问流量被镜像一份给劫持系统的DPI设备;
  4. 4.DPI对流量进行分析判断,比如http get、80端口等数据
  5. 缓存系统判断是否热点资源,比如连续请求5次的相同内容;
  6. 给用户发送响应请求,告诉客户本地即是客户需要访问的内容;
  7. 由于本地的缓存系统离客户更近,所以客户更早收到缓存系统的响应;
  8. 用户和本地的缓存系统建立网络交互,源站的响应回来的晚,会自动断开;
  9. 如果本地有缓存内容,则给用户响应内容,如果本地没有,会计算访问次数。当达到响应的内容时。



劫持的影响


从两种运营商缓存的特点来看,二者都是通过获取用户的数据流量,引导用户访问内容缓存的服务器。区别在于引导用户的方式,DNS强制解析是通过修改域名解析记录,强制将域名下的所有请求引导到劫持服务器上。这种方式简单粗暴,也容易造成很多问题。比如域名下有动态内容,也会被缓存下来。这样会造成登录的串号的问题。缓存的内容更新不及时,访问的都是老内容。这也是很多用户所不能接受的地方。一些冷门资源的缓存,会造成存储的浪费。流量劫持的方式需要镜像用户流量,进行分析判断。缓存一些系统判断是可以缓存的热点内容。DNS强制解析主要针对图片,302跳转主要针对下载文件,音视频等大文件


运营商应用劫持系统可以带来的好处是:

  • 减少跨网传输的访问,减少运营商之间的网间费用结算。国内各个地区、运营商都是独立运营的,日常互联产生的流量是需要进行费用结算的。而这笔费用其实是一笔庞大的开销,而且需要持续结算。
  • 大多数运营商之间的网络出口都在几十至几百G不等,内容缓存系统可以有效减小网络高峰时出口带宽的压力,这样既可减少对互通网络的扩容。减少网络建设的费用。
  • 由于缓存系统可以支持本地化服务,在一定程度上也可以达到加快网络访问的目的,提升用户体验。


由于运维系统的人员不可能及时获取到劫持内容的更新,或者对劫持的内容做其他的,坏处是:

  • 经常访问到过期的内容,文件更新缓慢。导致获取不到自己想要的信息。
  • 跳转到其他网站页面,或者被插入牛皮癣广告。


为了减少运营商缓存和劫持带来的影响,目前很多企业开始使用HTTPS的方式。以此保证内容被篡改的可能性被降低

发布于 2018-05-03 23:08

用家乐福举个例子或许便于你理解。

某家乐福一共三层,一层是快消品(食品)、二楼生活家居用品、三楼家电电子数码和办公用品。必须坐电动扶梯到三楼才能到入口。然后一层一层从内部扶梯下到一楼收银,然后出口。这其实也是大部分大型商超的常规设计方法。目的是强制你尽可能多的经过他们的柜台,这类商超通常流量最大的就是生活快消品,而你为了买到这些东西不得不“经过”其他你原本不需要的商品柜台,设计者的目的自然是希望你看到那些商品时突然产生(或发现自己的)购买欲,进而增加他们的销量。


类比网络劫持,你需要走过的路劲是从你的电脑(手机)到家用路由器,再到小区交换机——小区路由——电信(网通)交换机、路由、网管——地(县市)网管路由等各种终端,然后再到更高级别的网关(不再一一列举),在这个过程中你经过的每一个网络设备都可以在他的管辖范围内任意修改你的路劲,比如你要访问百度,他们中的任意一个都可以把你解析到搜狗,甚至你已经连接到百度,它可以把你原本要搜索的“知乎网址是多少”替换为“1024最新网址是什么”。也可以在你访问正常的网址,搜索正常的内容后,把百度原本要发送给你的“知乎的网址是www.zhihu.com”替换成“知乎的网址是www.wuzhe.me”。


这样子形容希望你能理解。

发布于 2018-05-05 15:13

网络劫持主要是运营商劫持,顾名思义就是被那啥的工作人员给篡改了。可以切换下网络运营商,要是只有某个有这种问题,那基本就是了,运营商劫持又分为

DNS劫持:这种劫持会把你重新定位到其他网站,我们所熟悉的钓鱼网站就是这个原理。但是因为它的违法性,现在被严厉的监管起来,已经很少见。
HTTP劫持:就是给你的http通信过程加入一些广告的代码,这种还是比价常见的

这种劫持可在某一不定时间或者地点,再或者从某一搜索引擎进入都有可能


那怎么解决呢?主要有以下几种方案

1. 可以修改电脑或手机网络的dns地址,比如将运营商默认的dns换为阿里这些的公共dns
2. 使用https,https加了ssl加密,可以防一部分的劫持
3. 在html里加入防劫持代码 ,网上有很多
4. 向运营商客服反馈,或者后台记录log证据,直接向工信部投诉

除了网站劫持,还有很多被劫持的方式,比如硬件劫持/路由表劫持/本地电脑被篡改等等,所以网站开发人员要做好预防措施

编辑于 2022-01-14 11:51