事情是这样的,不久前,我跟往常一样打开某新闻网页的时候,发现右下角有弹窗广告,并且在原页面任意位置点击,都会打开一个广告页面,然后原页面才能正常点击,手法太低劣了,不像是网站挂的广告,然后打开其它网页,除了个别网页和https的网页外,均有此症状,如此看来,肯定不是网站挂的广告,按理说此时最该怀疑的是电脑中毒了,但那台电脑是我保护得最好的一台笔记本,连百度网盘这种软件都只在使用的时候装到虚拟机里,用完再回退快照,更别说什么来历不明的软件了,所以不太相信是中毒了,然后上网查资料,不知从哪看到说改DNS可以解决,试着把本机的DNS从自动获取换成了固定DNS,果真不弹广告了,听说过一些宽带供应商的恶劣事迹,故断定是运营商提供的DNS有问题,被他们做了手脚。

就一直这样用着,直到前几天,朋友来家里玩,手机连wifi上网的时候,说弹乱七八糟的广告(我平时不在家用手机浏览网页),我告诉他说改DNS,结果他手机还改不了,好吧,这不是逼我么?我拿起电话就投诉宽带供应商,结果对方死不承认。好吧,既然不认账,那就再找其它更高一级的投诉渠道吧,结果在网上看到了一种说法,说是路由器被黑,手动设置了伪造的DNS(此前不知道路由器还可以手动指定DNS),然后就经常弹广告。我立马登录路由器的管理页面,果然DNS被设置为了某个固定地址,瞬间觉得之前的投诉好无理取闹……然后把路由器恢复了出厂设置,并改了登陆账号、密码、端口之类的,问题算是解决了。

但纳闷的是,既然不是供应商搞的鬼,单凭篡改一个DNS是怎么实现弹窗的呢?我用那个DNS和正常的DNS去ping了一下几个网站,两边得出来的IP是一样的,这就更纳闷了,DNS不就是用来查IP的么?有了IP以后,数据传输的事情跟DNS有毛关系啊,不过想想也是,如果在此时篡改IP,那原来的所有页面都要通过这个服务器来中转,这得承受多大的浏量啊,想必也是不太可能。是不是网页加载的过程中出了问题呢?于是用chrome打开了有道首页(页面比较简单,方便分析),并且开启开发人员工具中的网络监控,然后换DNS,另开一个窗口再打开有道首页,对比两次网页加载过程的差异,发现差错出现在访问s4.cnzz.com的时候,两边返回的IP不一样


无广告

有广告的


结果就是返回的内容也不一样(两段不同的JS),也就是这段JS让网页加上了那个广告效果。

其实看到加载过程有访问第三方域名的时候(这也怪自己对网站了解得太少,以为很少有网页会有跨域请求),就已经清楚了,这正是DNS大展身手的地方。上网查了一下,访问s4.cnzz.com时,是去获取一段统计相关的JS,DNS广告的原理应该就是篡改了一些这类域名的IP,把IP指向自己的服务器,然后该服务器返回添加广告的代码,因为是统计之类的代码,又不影响原网页的功能,而且多数网页都会加入这种统计之类的功能,所以,他们这样做可以覆盖大多数网站,而自己也不需要多大的服务器投入,嗯,一切都解释得通了。

最后曝光下那个弹广告的DNS:61.146.155.181。

DNS弹窗广告遭遇的更多相关文章

  1. WinRAR安装、破解与去除弹窗广告

    本教程教大家怎么破解WinRAR压缩软件和去除广告(教程属于总结类,总结网上给出的方法,并且亲测有效,非本人原创)WinRAR5.40 2016.10.06 首先下载WinRAR软件,去它的官方英文网 ...

  2. 一行js弹窗代码就能设计漂亮的弹窗广告

    接到一个设计需求,要求xmyanke在网站右侧挂一个弹窗广告宣传最近的活动,找了半天都没看到合适的,自己鼓捣了一行js弹窗代码就能设计漂亮的弹窗广告,来瞧一下,欢迎拍砖提意见,js弹窗广告代码如下: ...

  3. 屏蔽各类弹窗广告(WPS、智能云输入法)

    托盘中的广告“领取双11红包,最高1111元”的罪魁祸首是“智能云输入法” 广告在托盘中闪动: 结束SCSkinInst.exe后,托盘中的广告消失: 智能云输入法的安装路径可参考: C:\Progr ...

  4. QQ聊天窗口上的广告与QQ弹窗广告的完美屏蔽去除

    涉及的软件 1. QQ  (笔者的为v8.2版本) 2. Win7 3. ADSafe(3.13.308.9900正式版) 前言 QQ广告十分讨人厌,除了QQ弹窗的广告,让人十分反感外,最近发现QQ聊 ...

  5. WinRAR 5.40无弹窗广告注册版下载

    WinRAR 5.40无弹窗广告注册版下载  资料来源  http://www.heminjie.com/network/6366.html WinRAR 5.40 下载安装后,打开压缩包文件会弹出广 ...

  6. 【经验分享】用adb揪出安卓APP弹窗广告的原形

    背景 相信不少安卓用户中过影子弹窗广告的困扰,这种推广APP本体在后台运行,而且可以在其他APP上弹出覆盖广告,一不小心就会误操作,点击广告或者下载APP,着实令人恶心. 以前的广告软件只在通知栏会推 ...

  7. 自写 jQuery 大幅弹窗广告插件(不喜勿拍)

    最近写了做的两个项目都要做几乎同一件事,在首页弹出一个广告.本来是想在网上找一个的,找了几个,花了时间但都不怎么满意,尼玛呀,坑爹呀…… 最后一想,干脆自己动手了. 第一次写,在网上找一些例子来看. ...

  8. js 弹窗广告24小时显示一次

    弹窗24小时显示一次 https://www.w3cschool.cn/javascript/js-cookies.html 我们需要借助cookie来实现这个功能 function setcooki ...

  9. canvas实现类似弹窗广告效果

    先看看下面的效果图,想想使用canvas是怎样实现的? 如下图: 这个就不详细描述了,看代码就会了. <!doctype html> <html lang="en" ...

随机推荐

  1. 【Linux】学习说明

    概述Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.多用户是指操作系统可以创建多个用户,用户可以并行的使用操作系 ...

  2. The source attachment does not contain the source for the file  ActionSupport.class 错误

    报错  Syntax error, insert ";" to complete FieldDeclaration 报错   The source attachment does ...

  3. swift 键盘属性与事件

    1.键盘的类型 textField1.keyboardType = UIKeyboardType.default //系统默认的虚拟键盘 textField1.keyboardType = UIKey ...

  4. Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键?

    本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信I ...

  5. C语言隐形密码输入

    今天费了老大的劲,终于做出来了!虽然简单,但也是自己的心血,分享一下! #include<stdio.h> #include<conio.h> int main(){ char ...

  6. 2、python,for..in语句

    for..in语句是循环语句,它迭代一个对象的序列,例如经历序列中的第一项.一个序列只是一个有序的项目的集合. for i in range(1, 5): print(i) else: print(' ...

  7. java 中 ArrayList LinkedList Vector 三者的异同点

    1.ArrayList和Vector都是基于数组实现的,所以查询速度很快,增加和删除(非最后一个节点)速度慢: Vector是线程安全的,ArrayList不是. 2.LinkedList 是一个双向 ...

  8. DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)

    DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在 ...

  9. 【网络编程/C++】修改本机ip地址

    昨天学会了编程实现获取本地网卡信息,今天再接再砺学会了修改本机ip地址.其实原理很简单就是用c++调用一下dos命令而已,不得不说,dos命令实在是太强大了,当然听说还有种修改注册表的方法,不过没有试 ...

  10. PHP include 和 require 语句

    在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容. include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码. include 和 requ ...