事情是这样的,不久前,我跟往常一样打开某新闻网页的时候,发现右下角有弹窗广告,并且在原页面任意位置点击,都会打开一个广告页面,然后原页面才能正常点击,手法太低劣了,不像是网站挂的广告,然后打开其它网页,除了个别网页和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. AngularJS-chapter2-7-前端路由

    Form表单提交会导致页面之间的切换,没法实现单页应用 Ajax请求不会留下History记录(在后台管理系统,没有后台历史记录还可以) ,但在网络型应用或门户型应用(用户没有办法给改页面加标签或分享 ...

  2. log4j输出日志到不同文件

    1.先看log4j的配置文件 log4j.properties 没有此文件就在根目录下创建一个: log4j.rootLogger=INFO,R,Client log4j.appender.R=org ...

  3. 25. vm安装redhat步骤

    详见:http://jingyan.baidu.com/article/49ad8bce532c525834d8fa19.html

  4. nginx转发post消息成301了

    刚才开始是:第一次遇到这个问题是因为不支持sslv3 后来测试的时候,是因为没注意https的导致http 301跳转https post请求nginx转发成301了,到时post数据丢失

  5. Redis配置文件参数说明

    Redis配置文件参数说明   1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis ...

  6. mysql快速导入大量数据问题

    今天需要把将近存有一千万条记录的*.sql导入到mysql中.使用navicate导入,在导入100万条之后速度就明显变慢了, 导入五百万条数据的时候用了14个小时,且后面的数据导入的越来越慢. 后来 ...

  7. JS 中 new 操作符

    按照javascript语言精粹中所说,如果在一个函数前面带上new来调用该函数,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将被绑定到那个新对象上.这个话很抽象,我想 ...

  8. MySql开始日期、结束日期查询

    str_to_date('2016-08-24', '%Y-%m-%d %H') validStartTime str_to_date('2016-09-16', '%Y-%m-%d %H') val ...

  9. PHP防SQL注入不要再用addslashes和mysql_real_escape_string

    PHP防SQL注入不要再用addslashes和mysql_real_escape_string了,有需要的朋友可以参考下. 博主热衷各种互联网技术,常啰嗦,时常伴有强迫症,常更新,觉得文章对你有帮助 ...

  10. bash coding to changeNames

    ____通配符和正则表达式 此处的定义只针对linux 中的shell语言,对其它语言不适用 _正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表 ...