修改hosts文件屏蔽广告原理及实现


关于hosts文件的原理我就不再说明了。

不明白的可以查看我的另一篇博客,写的真的很清楚明白了。

hosts文件原理及运用_diyu-CSDN博客

一般而言,我们访问的网页中是含有广告链接的,当我们解析完网站域名,加载渲染该网页的过程中就会产生对广告链接的请求,然后浏览器进行解析该链接(实际是DNS服务器进行的),弹出广告页面。

插件屏蔽广告方式原理之一:阻止URL(链接)的请求,没有了请求,自然就没有解析,也就没有该广告。

hosts文件屏蔽广告方式原理:在文件中添加该广告链接,并且指定一个ip地址(通常为本机地址),因为hosts文件优先级是高于DNS服务器,这样浏览器解析该广告链接时,优先hosts文件,这样我们就相当于更改了该链接本来的ip地址,从而使该链接失效。

当然,这些只是一般情况,如果这样的方式无法屏蔽广告,一种可能是广告内容是嵌入到网页中的。

现在技术不断地发展,插入广告与屏蔽广告的方式也多种多样,最能体现的就是观看腾讯视频、优酷视频等,插件对广告的处理。有的插件只能实现不产生广告,但不能将广告时间略去,也就是广告时间出现黑屏。而有的插件,就不用多说了。总之,插入广告一般总是占据优势,就像加密较优势于解密,毕竟有因才有果,当然这并不绝对。

我们先要知道怎么查看有网页中有哪些广告链接?

浏览器在访问页面右键检查(或 Fn+F12

我们先关掉广告拦截插件试试,比如AdGuard,Adblock Plus,我微软浏览器用的最多的是 AdGuard,谷歌是Adblock。

示例1:微软浏览器 Microsoft edge( Chromium 版),没有更新为这个版本的,强烈建议更新。

在百度页面右键检查(或 Fn+F12

选择 源代码,除第一个链接 www.baidu.com 外,其余链接一般可以视为广告链接

image-20211116232752666

示例二:谷歌浏览器(Google Chrome)

一样的鼠标右键检查(或 Fn+F12

选择 sources,除第一个链接 www.baidu.com 外,其余链接一般可以视为广告链接

image-20211116233158137

我们打开广告拦截插件试试

示例1: Microsoft edge 浏览器

image-20211116233507799

示例2: Google Chrome

image-20211116234240872

打开广告拦截插件后,发现还多了两个链接 sp1.baidu.com以及sp2.baidu.com,这两个链接打开的页面与www.badu.com 相同,为什么会出现,我也不太清楚,不过不重要。

我们还可以发现打开广告拦截插件后,阻止了一个链接的访问(上一张图),很明显,这个链接就是广告了。

我们找到链接后,就可以修改hosts文件了

文件目录 C:\Windows\System32\drivers\etc\

修改方法:hosts所在目录中是不能修改文件的,因为权限不够。所以,我们可以将hosts文件复制到桌面或者其它位置,修改完毕后在替换原文件即可。

我在另一篇博客说了,我们一般采用本机回环地址对广告链接进行指定 ip

本机回环地址:127.0.0.0-127.255.255.255 两边不能取。通常使用127.0.0.1

将hosts文件复制到桌面或者其它位置进行修改,修改完毕后在替换原文件即可。

image-20211117000136021

这样替换原文件后,刷新下页面就可以了。

不过,这样自己一个个找链接有点麻烦,我们可以网上去找别人写好的hosts文件或者广告链接。

猜你喜欢

转载自blog.csdn.net/qq_45945548/article/details/121368590