常见的广告过滤方法原理 Adblock最早是以Firefox浏览器的扩展的形式出现的,在2010年Adblock Plus发布了Chrome浏览器扩展的版本,而到了近年,它又推出了安卓平台的APP。Adblock本身都有如此进化,更勿论是其他广告过滤工具了。到现在,广告过滤工具百花齐放,工作机理也不甚相同,下面就举几个经典的方案来介绍一下吧。 ◆浏览器扩展 这可谓是广告过滤工具最常见的存在形式了,从最早的Adblock,到现在自带去广告功能的各种浏览器,浏览器扩展多年来一直在去广告领域发光发热。
没错,如果某个浏览器自带去广告功能,那么这功能多是利用扩展程序来实现的。倘若你有仔细观察,那么应该不难发现很多带有去广告功能的浏览器,大多是基于Chromium开发而来,这样做的一大好处是可以兼容Chrome浏览器上的扩展程序。修改某些去广告扩展后,然后将它内置到浏览器当中,这是国内很多浏览器开发商的玩法。而Adblock Plus是开源的这一点,让它更容易被改造利用。
浏览器扩展过滤广告的功效可谓是久经考验,但它也存在显而易见的局限——它只作用于浏览器。目前人们接触互联网的渠道越来越多,例如通过APP、Web程序等等,如果网络广告并不需要经由浏览器,那么浏览器扩展自然也无能为力了。目前优秀的去广告浏览器扩展除了大家熟知的Adblock Plus,还有uBlock等等,大家可以根据自己的使用习惯选择。 ◆Hosts修改 Hosts文件能够影响系统对IP地址访问,Windows、Android等系统中都存在Hosts文件。在Hosts文件中添加了特定的规则后,可以阻止传输特定IP地址的网络数据,用来拦截广告自然也不在话下。 无论在PC还是安卓,都存在通过修改Hosts从而过滤广告的工具。例如安卓平台上的AdAway,就可以在线下载广告过滤规则后,将规则写入到Hosts文件当中,从而实现广告拦截。
通过修改Hosts文件来过滤广告,能够对系统全局都产生作用,效果拔群。但它也存在缺点,首先这个方法有一定的门槛。例如,在Windows上修改Hosts文件需要使用管理员权限,在Android上则需要root,对于某些非玩家用户,这还是有一定操作上的难度。其次,修改Hosts文件去广告并不能一劳永逸,当广告过滤规则更新的时候,需要手动更新Hosts文件,这来得总不是那么的方便。 ◆全局流量过滤 这是现在非常流行的广告过滤方案。近年来,出现了一些能够去除系统几乎所有广告的工具软件。这些软件并不需要什么复杂的操作,一键就能够去掉全局广告。这样的软件在PC和Android系统中都有出现,AdSafe、广告过滤大师等等就是其中的典型代表。
这样的软件之所以能够实现这样的功能,靠的是全局流量过滤。这类软件会建立本地网关,将用户所有网络连接的流量置之眼皮底下。一旦流量某些内容和广告过滤规则匹配,那么广告就会从流量中剔除——从原理来看,这类软件过滤广告是靠谱的,而实际效果也的确有口皆碑。 由于在Android系统当中,APP可以建立VPN通道,因此很多去广告APP会利用VPN来建立安卓的本地网关,从而无需root也能过滤广告,深受广大用户欢迎。 ◆IPtables过滤 这也是一种非常常见的广告过滤方案,多见于root后的Android系统,以及一些路由器固件当中。Android系统我们知道基于Linux内核,而OpenWRT、DDWRT等路由器固件,包括厂商今年热炒的所谓“智能路由器”,往往也基于Linux。既然基于Linux,那么就可以通过IPtables来管理网络流量,去广告就是其中的一个典型用途。
IPtables看做是Linux系统中的一个防火墙机制。只要导入了相应的规则,那么就可以利用IPtables过滤特定的网络数据,用来拦截广告也非常行之有效。IPtables可以作用于系统全局,不过由于涉及系统关键参数,因此需要root权限才能配置。Android玩家往往会root后通过IPtables来实现广告全局过滤,而路由器玩家则会刷第三方固件后,安装去广告的插件来实现类似效果,某些智能路由器厂商则预设了去广告功能,这些很多都是IPtables来实现的。 ◆直接拦截广告API 这是Android平台上另一种常见的广告过滤方案。广告工具能通过一些手段,嗅探到APP的广告API,从而直接拦截。典型的例子就是基于Xposed平台的MinMinGuard,得益于Xposed能够Hook进Android系统的各个角落,因此基于Xposed的工具能够修改其他Android APP,自然也能用于拦截广告。
和IPtables一样,这种方法也需要root权限。
|
正在阅读:屏蔽广告你真的没做错吗?谈谈广告过滤的那点事屏蔽广告你真的没做错吗?谈谈广告过滤的那点事
2018-08-04 00:15
出处:PConline原创
责任编辑:censi
键盘也能翻页,试试“← →”键
本文导航 | ||
|