美文网首页
从零开始去广告,杀联盟广告,搞定运营商劫持,优化上网体验,软件推

从零开始去广告,杀联盟广告,搞定运营商劫持,优化上网体验,软件推

作者: 爱咪哆 | 来源:发表于2017-09-24 11:33 被阅读0次

    本文实用markdown编译生成,左侧有目录梗概,同步更新地址为http://www.jianshu.com/p/f9d61033650b

    前言

    信息时代,广告泛滥,要根治广告,我们首先要了解为什么目前广告会如此泛滥,然后这些广告都来自哪里,最后如何解决。首先需要申明,广告的屏蔽和反屏蔽其实就是现实版的“猫鼠游戏”,好贴切的比喻呀!

    广告来源

    广告联盟

    中国互联网经过这么多年的沉浮,地下黑色产业链已经有了很大的变化。随着免费杀毒软件的流行,中国互联网发生了一些比较明显的变化,比如曾经盗号木马横行,现在就很少见了。但是,黑色产业并没有消失,而是转型做起来其他的买卖,比如买卖流量。首先是各个网站主,通过广告联盟赚钱,流量大的网站每月赚广告费月入一二十万的人大有人在。国内常见的就是百度联盟,360,腾讯等等。国外的有谷歌联盟,亚马逊联盟等等。

    对于这种联盟广告,一般来说大站挂的为了用户体验,不会挂太多,但是有的小站那就严重影响体验了。

    可能这篇文章的读者中也有很多博客站长们,没有在自己浏览器里使用“广告屏蔽”插件的站长们应该是寥寥无几了。其实对于“广告屏蔽”很多站长都是一个很矛盾的心理,在使用“广告屏蔽”的同时,又希望自己博客网站投放的广告少被屏蔽些。目前看,“广告屏蔽”的重灾区是移动端,现在手机端浏览器好像默认都是开启“广告 过滤”功能了,而移动端流量又是目前大部分博客网站占比最大的一块儿。目前,各个联盟也推出了广告反屏蔽功能,现已支持PC网页和移动网页的大部分样式。

    运营商劫持

    运营商是指那些提供宽带服务的ISP,包括三大运营商中国电信、中国移动、中国联通,还有一些小运营商,比如长城宽带、歌华有线宽带。运营商提供最最基础的网络服务, 掌握着通往用户物理大门的钥匙。
    网络运营商为了卖广告或者其他经济利益,有时候会直接劫持用户的访问,目前,运营商比较常见的作恶方式有两种,分别是DNS劫持、HTTP劫持。

    DNS 劫持

    又称域名劫持,DNS是Domain Name System的简写,即域名系统,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。简单地说,如果我们想访问岂安科技的官网,本来需要输入网站主机的IP地址,但是DNS可以将www.baidu.com解析成对应的IP地址,我们就不需要记住复杂的IP地址了。

    这里先看DNS劫持的情况:

    微云弹出的迷你浏览器直接跳转到114导航;

    114劫持

    Steam内置浏览器被跳转到某个宣传赚钱的微信文章页(此页面欺骗性太大, 未必是运营商所为)

    steam被劫持

    总结一下,DNS劫持有这三种情况:

    1.错误域名解析到纠错导航页面,导航页面存在广告。判断方法:访问的域名是错误的,而且跳转的导航页面也是官方的,如电信的114,联通移网域名纠错导航页面。

    2.错误域名解析到非正常页面,对错误的域名解析到导航页的基础上,有一定几率解析到一些恶意站点,这些恶意站点通过判断你访问的目标HOST、URI、 referrer等来确定是否跳转广告页面,这种情况就有可能导致跳转广告页面(域名输错)或者访问页面被加广告(页面加载时有些元素的域名错误而触发)这种劫持会对用户访问的目标HOST、URI、referrer等会进行判定来确定是否解析恶意站点地址,不易被发现。

    3.直接将特点站点解析到恶意或者广告页面,这种情况比较恶劣,而且出现这种情况未必就是运营商所为,家里路由器被黑,或者系统被入侵,甚至运营商的某些节点被第三方恶意控制都有可能。具体情况要具体分析,这里就不展开了。

    HTTP劫持

    会话劫持,DNS解析的域名的IP地址不变。在和网站交互过程中的劫持了你的请求。在网站发给你信息前就给你返回了请求。这里又可以分为两类

    302 Redirect

    将用户 URL重定向到非目标网站。如果直接劫持用户的目标网站太过明显,因为如果用户无法访问目标站点的话,会引起大量投诉最终会导致劫持败露。所以这类劫持一般都会针对中间页面劫持,并且会增加一些过滤条件。比如用户访问目标网站后,如果点击目标网站链接,就有可能被302跳转给劫持。比较典型的就是很多搜索结果页面,点击之后跳转到了不知所云的网站:

    网页内容篡改

    一般会有如下情形:直接在网页插入JS(java script);在网页嵌入iframe。

    HTTP劫持很好判断,当年正常访问一个无广告的页面时,页面上出现广告弹窗,八成就是运营商劫持了HTTP。下图中,右下角的广告并不是所访问的网站放置的。

    V2ex被HTTP劫持

    HTTP劫持现在是相当普遍的,比如今年就出现了这样的事,某国字号APP被劫持

    由于HTTP是明文传输的,同时流量的获利空间巨大,所以流量劫持的现象才会越来越严重。关于DNS劫持和HTTP劫持,打个比方来描述这两种劫持,DNS劫持就是你想去存钱运营商却把你拉到了劫匪手中;而HTTP劫持就是你从服务器买了一包零食电信给你放了一坨屎,横竖都很恶心人。

    固件厂商

    直接看图吧

    image.png

    应对方式

    广告联盟

    修改hosts

    最直接的办法就是直接在hosts中屏蔽掉,这里列出国内常见的几个,强制指向127.0.0.1就可以了

    pos.baidu.com
    hm.baidu.com
    cpro.baidu.com
    drmcmm.baidu.com
    api.so.lianmeng.360.cn
    s.lianmeng.360.cn
    cas.hk.cn.criteo.com
    cat.hk.cn.criteo.com
    googleads.g.doubleclick.net
    pagead2.googlesyndication.com
    app.acm.dzwww.com
    strip.taobaocdn.com
    

    当然为了方便我也推荐一款Hosts管理软件:Switchhosts
    下载地址:https://github.com/oldj/SwitchHosts/releases
    SwitchHosts! 是一款集管理、切换 N 个 Hosts 方案的开源软件,基于 wxPython 开发,可在 Windows/Linux/Mac 下运行,现在作者基于 Electron 重新开发了 SwitchHosts! 功能上全部清零。这款小软件支持 Common Host 文件,切换到任意环境都将生效的host,在编辑时可显示语法高亮。

    去广告hosts列表yhost:https://github.com/vokins/yhosts

    uBlock Origin

    如果只是浏览器使用的话,我们可以安装扩展,比如chrome系列我们可以安装uBlock Origin,里面已经预置了很多去广告的规则,并且一直在更新

    uBlock Origin另一个功能是可以移除页面指定元素,比如进入论坛精品软件区

    结果发现页面很大部分都被版规挡住了,这时候我就使用元素选择器,直接看效果吧。

    运营商劫持

    DNS劫持

    DNS劫持常见于使用自动的DNS地址,所以,不管有没有被劫持,尽量不要使用运营商默认的DNS。

    DNS服务器

    首先推荐几个安全无污染的DNS公共服务器,当然有条件的可以自建DNS服务器。

    Public DNS 地址:119.29.29.29 和 182.254.116.116
    
    114公共DNS服务地址:
    纯净 无劫持 无需再忍受被强扭去看广告或粗俗网站之痛苦
    服务地址为:114.114.114.114 和 114.114.115.115
    拦截 钓鱼病毒木马网站 增强网银、证券、购物、游戏、隐私信息安全
    服务地址为:114.114.114.119 和 114.114.115.119
    学校或家长可选拦截 色情网站 保护少年儿童免受网络色情内容的毒害
    服务地址为:114.114.114.110 和 114.114.115.110
    
    onedns公共DNS服务地址:
    北方首选 114.215.126.16
    南方首选 112.124.47.27
    南北备用 42.236.82.22
    
    谷歌公共DNS地址:
    8.8.8.8 和 8.8.4.4
    
    

    如果觉得自建服务器太麻烦,推荐一款实用的DNS管理工具:DNSspeeder

    下载地址:http://www.sharewarestudio.com/?page_id=6

    利用DnsSpeeder可以制作本地Dns缓存服务器,加快浏览网页的速度,以及解决Dns污染和某些解析问题。绿色免费自带中文,无需配置。可以跳过运营商的 DNS 服务器。

    Http劫持

    对付HTTP劫持,最好的方法之一,就是使用HTTPS来连接网页。而使用HTTPS,在传输数据过程中,数据是加密的。就如同原先开车被人在车窗塞小广告,现在把窗都关紧,他人自然再也无法插足。HTTPS不仅可以防止HTTP劫持,也能够较好地防止DNS劫持,这是由于HTTPS的安全是由SSL来保证的,需要正确的证书,连接才会成立。如果DNS把域名解析到了不对应的IP,是无法通过证书认证的,连接会被终止。

    实际上,现在已经有越来越多的网站支持HTTPS,但为了兼容等问题,不少网站也同时提供HTTP连接,例如著名的视频网站哔哩哔哩。主动使用HTTPS来进行连接,不但有效防止网页劫持,还能够保护隐私。如果你在使用Chrome、Firefox等支持扩展的浏览器,还可以使用强制HTTPS连接的扩展来上网,不用自己手动去试某个网站有没有HTTPS。

    Https Everwhere

    如果你使用的是Chrome浏览器,那么可以安装下面这个扩展Https Everwhere

    下载地址:https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp?hl=zh-CN

    由 Tor Project(洋葱路由器)和 EFF(电子前哨基金会)开发,可在 Google Chrome、Firefox、Opera 和 Firefox for Android 四种平台免费下载使用。从外掛名称 HTTPS Everywhere 应该就能知道它的用途,主要为加密网路,自动在网站上使用 HTTPS 加密连线!也就是大家常看到的「绿色锁头」功能。虽然不是每个网站都支援加密连线协议(但已逐渐成为標准配备),安装外掛后就能强制在每个网站使用 HTTPS 连线,也能建立规则选择是否要阻挡掉未加密的请求以获得更好的安全性。透过 HTTPS 连线的好处是什么呢?简单来说,它会在传输时自动进行加密,避免资料在途中被第三方擷取而获得重要內容(例如密码或其他隱私资讯),当然更好的是在瀏览器网址列显示绿色安全標誌,提高使用者的信任程度。设置教程:https://free.com.tw/https-everywhere/

    直接投诉

    可以先给运营商打电话投诉,说明自己遇到劫持了。一般情况下客服会说你可能是中毒了,不要紧坚持说自己用的是Mac,不会中毒,让对方解决。如果运营商不给解决,可以告诉对方你到工信部投诉他们,运营商八成会认怂。

    如果不认怂怎么办?当然是真的到工信部投诉啊!工信部电信用户申诉受理中心:


    工信部

    固件厂商

    这个没有什么好说的吧,最根本的方法,看看是否可以Root,然后刷机刷固件。目前常见的就是DD-WRT, Tomato 和OpenWRT,不嫌麻烦的话一般都刷OpenWRT,OpenWrt最开放最激进,适合愿意折腾且有折腾能力的人,如果你能,你会发现你可以随心所欲的扩展它,你之前掌握的有关Linux的大部分经验都适用于OpenWrt。Tomato最封闭,而且乱,给人感觉没活力。DD-WRT最接近实用,算是中庸,但是要定制和扩展都比较难。

    项目主页:OpenWrt

    总结

    有条件的可以自建服务器,或者折腾路由器也可以,使用路由器解析DNS,加载hosts,这样整个家里都可以使用。

    相关文章

      网友评论

          本文标题:从零开始去广告,杀联盟广告,搞定运营商劫持,优化上网体验,软件推

          本文链接:https://www.haomeiwen.com/subject/xchkextx.html