这周开始发现一个很让人抓狂的现象,QQ音乐网页(http://y.qq.com)与QQ视频(http://v.qq.com/)网页打开超慢,甚至是无法打开,严重影响了业余的音乐视频生活。

以QQ视频为例,截个事故现场图:

开始以为是电脑中毒了,结果用QQ电脑管家(http://guanjia.qq.com/)查杀,无中毒症状,用广东电信提供的测速平台,20M的网络宽带也是表现正常。直到浏览拍拍网(http://www.paipai.com/)的某个页面时,发现页面任意地方点击都是新窗口打开游戏广告,才恍然大悟——“难道中国电信又开始耍流氓了,通过DNS劫持,在页面返回给用户浏览器之时,往页面中额外插入了一段script代码,导致在页面中生成了全屏覆盖的广告连接。”

手机拍照为证:

于是想到用 nslookup 及 tracert 定位下是否是因为当前DNS被人动了手脚,果不其然:

1、这个奇怪的默认DNS服务器 101.55.29.55 在ip138上的定位居然是韩国的- -!

2、tracert在中国电信骨干网IP段(202.97.*.*)请求超时,然后从美国绕香港,最后才回到腾讯IDC机房;

3、另外一点比较奇怪的表现是,大部分网站(百度,豆瓣,淘宝等等)访问速度也说不上慢,但 qq.com 域的相关网站却显得特别慢,难道是有黑手要整QQ?

OK,既然已经知道是DNS劫持,那解决方案就比较简单。把本地的DNS设置成 google 或 openDNS 的即可,由于本地DNS设置会优先于路由上宽带运营商的设置,因此也可以不用再担心运营商通过这招来插广告耍流氓,甚至是窃取用户 cookie 等敏感信息。

然后在小众上发现了一个叫做 Public DNS Tool的工具(点击此处下载),改起DNS来相当方便,于是设置了一把:

问题终于得到解决,妈妈再也不用担心我打开不了QQ的网页了~ 再次强烈鄙视中国电信的流氓行径,哪位同学知道什么有效的投诉途径请留言告知于我。

----------11月3号补充--------

因为之前被电信耍过流氓,在第一次访问任意页面的时候通过插iframe来弹自己的广告以及催促宽带缴费,所以这次第一反映就是电信在搞鬼,但仔细想想中国电信应该不会把DNS设置成这个奇怪的韩国DNS IP,而且这个DNS是设置在我的TP-link路由器管理页面上,如下图:

所以还有另外一种可能是:由于我自己的TP-link路由安全意识不足(路由IP,用户名密码全部使用的默认),导致被流氓网站做了CSRF攻击,将我的DNS设置成了这个流氓IP,有兴趣的同学可以自己尝试点以下按钮,为了防止小白用户不会修改,这里就把这个奇怪的韩国IP替换成google的 8.8.8.8 以保证安全

点我重现事故现场

在事件未完全搞清楚之前(是中国电信耍流氓还是TP-LINK中了CSRF攻击),秉着科学、客观的精神,我还是把标题改成“DNS被劫持所导致的”先。

针对路由器被CSRF的问题,最方便安全的方法还是赶紧修改下默认的用户名和密码,不要再用admin/admin了

-----------------------------------------------

以下是 tracert 验证截图,直接绕过中国电信骨干网,直达腾讯机房~

(DNS被劫持所导致的)QQ音乐与视频网页打开很慢的解决方法的更多相关文章

  1. 基于jQuery仿QQ音乐播放器网页版代码

    基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m ...

  2. DNS劫持(网页打不开的解决方法)

    我们上网,必不可少的就是DNS,在这里先介绍下DNS的相关知识. DNS 是域名系统 (Domain NameSystem) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主 ...

  3. 谷歌的ajax.googleapis.com被墙导致访问很多国外网站很慢的解决方法

    比如访问StackOverflow, 更比如flexerasoftware.com(导致Visual Studio的打包程序InstallShield Limited Edition不能注册和下载) ...

  4. ios上视频与音乐合成后出现播放兼容问题的解决方法

    近期EasyDarwin开源流媒体团队EasyVideoRecorder小组同学Carl在支持一款短视频应用上线时,遇到一个问题:我们在IOS上合成"图片+音乐"成为视频之后,在P ...

  5. iOS 系统原生分享图片 文字 音乐 纯视频 网页

    为了方便使用,我封装了一个分享的工具类LFSystemShareUtil.工程要引Social.framework. LFSystemShareUtil.h #import <Foundatio ...

  6. “display:block-inline形式的Span或Div中添加文字后,导致Span或Div排版掉落、错位”的原因及解决方法

    最近在使用3个span(或div)制作带圆角边框的按钮时,按照常识,把span的display设置成inline-block,这样就可以设置span的width和height了,很爽的~ 可是当我在中 ...

  7. 关于使用NotificationComat导致android2.3及以下版本无法显示自定义布局的解决方法.

    大伙都知道 android-support-v4为我们提供了很多兼容的解决方案, 其中就有关于通知栏的. NotificationCompat, 顺利成章操刀显示通知. eg: Intent inte ...

  8. win7使用右键导致死机、假死、explorer无法响应的解决方法

    右键引起explorer无法响应,奔溃,主要是由于COMCTL32.DLL和COMCTL21.OCX文件引起的 描述:comctl32.dll是Windows应用程序公用GUI图形用户界面模块.报告提 ...

  9. QQ音乐API分析记录

    我一直是QQ音乐的用户,最近想做一个应用,想用QQ音乐的API,搜索了很久无果,于是就自己分析QQ音乐的API. 前不久发现QQ音乐出了网页版的,是Flash的,但是,我用iPhone打开这个链接的时 ...

随机推荐

  1. PHP 判断点是否在多边形内

    如何判断一个点是否在一个多边形内,何时会用到这个场景. 我们就模拟一个真是场景.我们公司是快递公司,在本地区域有6个分点.每个分点有3-5个工人负责附近的快递派遣发送,所以根据每个点的服务区域我们就能 ...

  2. tmpfs详解

    一,tmpfs介绍 1. tmpfs是一种虚拟内存文件系统,正如这个定义它最大的特点就是它的存储空间在VM里面(什么是VM?后面介绍) 2. VM是由linux内核里面的vm子系统管理的东西,现在大多 ...

  3. TDD学习笔记【五】一隔绝相依性的方式与特性

    前言 在上一篇文章中,提到了如何通过 IoC 的设计,以及 Stub Object 的方式,来独立测试目标对象. 这一篇文章,则要说明有哪些设计对象的方式,可以让测试或需求变更时,更容易转换. 并说明 ...

  4. C# 取整函数

    向上取整math.ceiling(1) = 1math.ceiling(1.1) = 2math.ceiling(1.5) = 2向下取整math.float(1) = 1math.float(1.1 ...

  5. Javascript原型继承 __proto__

    Javascript继承是通过原型链继承的 原型链是依赖__proto__而不是prototype var animal = function(){}; var dog = function(){}; ...

  6. SqlServer查询表中各列名称、表中列数

    查询表名为tb_menu的所有列名 select name from syscolumns where id=object_id('tb_menu')     查询表名为tb_menu的所有列名个数 ...

  7. img及父元素(容器)实现类似css3中的background-size:contain / background-size:cover

    img及父元素(容器)实现类似css3中的background-size:contain / background-size:cover <!DOCTYPE html> <html ...

  8. 从零点壹开始学JAVA(DAY 1 笔记)<补充记录>

    一个同事的先生(下面称呼其为耿大神)是做开发的,比较资深的那种,在他们公司的核心技术部门. 幸运的是,耿大神很乐意帮助我这株小白菜,在业余时间指导我,这里深表感谢. 耿大神隔段时间会给我提一些问题,让 ...

  9. BZOJ4583 : 购物

    首先,如果一家店的区间完全包含了另一家,那么可以删掉另一家,中间的可以用组合数计算方案数. 那么现在将所有店按$l$排序,那么$l$和$r$都严格递增. 设$f[i][j][k]$表示当前是第$i$天 ...

  10. python基础06 循环

      循环用于重复执行一些程序. for循环  for循环需要预先设定循环的次数n,然后执行隶属于for的语句. 基本构造是 for 元素 in 序列: statement 如: for a in [1 ...