正在阅读:屏蔽广告你真的没做错吗?谈谈广告过滤的那点事屏蔽广告你真的没做错吗?谈谈广告过滤的那点事

2018-08-04 00:15 出处:PConline原创 作者:Aimo 责任编辑:censi

  常见的广告过滤方法原理

  Adblock最早是以Firefox浏览器的扩展的形式出现的,在2010年Adblock Plus发布了Chrome浏览器扩展的版本,而到了近年,它又推出了安卓平台的APP。Adblock本身都有如此进化,更勿论是其他广告过滤工具了。到现在,广告过滤工具百花齐放,工作机理也不甚相同,下面就举几个经典的方案来介绍一下吧。

  ◆浏览器扩展

  这可谓是广告过滤工具最常见的存在形式了,从最早的Adblock,到现在自带去广告功能的各种浏览器,浏览器扩展多年来一直在去广告领域发光发热。


Adblock Plus最早只支持Firefox,现在支持包括Edge在内的越来越多的浏览器

  没错,如果某个浏览器自带去广告功能,那么这功能多是利用扩展程序来实现的。倘若你有仔细观察,那么应该不难发现很多带有去广告功能的浏览器,大多是基于Chromium开发而来,这样做的一大好处是可以兼容Chrome浏览器上的扩展程序。修改某些去广告扩展后,然后将它内置到浏览器当中,这是国内很多浏览器开发商的玩法。而Adblock Plus是开源的这一点,让它更容易被改造利用。


Adblock Plus是一个开源项目,大家都可以用到它的相关技术

  浏览器扩展过滤广告的功效可谓是久经考验,但它也存在显而易见的局限——它只作用于浏览器。目前人们接触互联网的渠道越来越多,例如通过APP、Web程序等等,如果网络广告并不需要经由浏览器,那么浏览器扩展自然也无能为力了。目前优秀的去广告浏览器扩展除了大家熟知的Adblock Plus,还有uBlock等等,大家可以根据自己的使用习惯选择。

  ◆Hosts修改

  Hosts文件能够影响系统对IP地址访问,Windows、Android等系统中都存在Hosts文件。在Hosts文件中添加了特定的规则后,可以阻止传输特定IP地址的网络数据,用来拦截广告自然也不在话下。

  无论在PC还是安卓,都存在通过修改Hosts从而过滤广告的工具。例如安卓平台上的AdAway,就可以在线下载广告过滤规则后,将规则写入到Hosts文件当中,从而实现广告拦截。


Android上著名的去广告工具AdAway,就是通过修改Host来实现广告过滤的

  通过修改Hosts文件来过滤广告,能够对系统全局都产生作用,效果拔群。但它也存在缺点,首先这个方法有一定的门槛。例如,在Windows上修改Hosts文件需要使用管理员权限,在Android上则需要root,对于某些非玩家用户,这还是有一定操作上的难度。其次,修改Hosts文件去广告并不能一劳永逸,当广告过滤规则更新的时候,需要手动更新Hosts文件,这来得总不是那么的方便。

  ◆全局流量过滤

  这是现在非常流行的广告过滤方案。近年来,出现了一些能够去除系统几乎所有广告的工具软件。这些软件并不需要什么复杂的操作,一键就能够去掉全局广告。这样的软件在PC和Android系统中都有出现,AdSafe、广告过滤大师等等就是其中的典型代表。


Android上很多免root去广告工具会调用VPN掌管全局流量

  这样的软件之所以能够实现这样的功能,靠的是全局流量过滤。这类软件会建立本地网关,将用户所有网络连接的流量置之眼皮底下。一旦流量某些内容和广告过滤规则匹配,那么广告就会从流量中剔除——从原理来看,这类软件过滤广告是靠谱的,而实际效果也的确有口皆碑。

  由于在Android系统当中,APP可以建立VPN通道,因此很多去广告APP会利用VPN来建立安卓的本地网关,从而无需root也能过滤广告,深受广大用户欢迎。

  ◆IPtables过滤

  这也是一种非常常见的广告过滤方案,多见于root后的Android系统,以及一些路由器固件当中。Android系统我们知道基于Linux内核,而OpenWRT、DDWRT等路由器固件,包括厂商今年热炒的所谓“智能路由器”,往往也基于Linux。既然基于Linux,那么就可以通过IPtables来管理网络流量,去广告就是其中的一个典型用途。


DroidWall是一款Android平台上通过IPtables来过滤广告的经典工具

  IPtables看做是Linux系统中的一个防火墙机制。只要导入了相应的规则,那么就可以利用IPtables过滤特定的网络数据,用来拦截广告也非常行之有效。IPtables可以作用于系统全局,不过由于涉及系统关键参数,因此需要root权限才能配置。Android玩家往往会root后通过IPtables来实现广告全局过滤,而路由器玩家则会刷第三方固件后,安装去广告的插件来实现类似效果,某些智能路由器厂商则预设了去广告功能,这些很多都是IPtables来实现的。

  ◆直接拦截广告API

  这是Android平台上另一种常见的广告过滤方案。广告工具能通过一些手段,嗅探到APP的广告API,从而直接拦截。典型的例子就是基于Xposed平台的MinMinGuard,得益于Xposed能够Hook进Android系统的各个角落,因此基于Xposed的工具能够修改其他Android APP,自然也能用于拦截广告。


MinMinGuard可以通过拦截广告API来过滤APP的广告

  和IPtables一样,这种方法也需要root权限。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品