MENU

记一次『实验室网络屏蔽』分析

December 6, 2015 • 安全

某天用着QQ突然掉线,重连多次发现无补于事,还以为是OSX的客户端出了问题,原来大伙登录都出现『time out』的情况,于是决定找出问题所在。

0x01 事情描述

  我校计算机机房基本集中在4、5楼,上机课经常出现一群人同时下LOL客户端..此等占用带宽现象确实令人发指,粗略猜测,这也是封掉QQ&某些域名的主要原因。

  我身处的实验室处于4楼,假如4、5楼交换机进行某些屏蔽,实验室难逃一劫。社工后发现,3楼实验室不受限制,4、5楼实验室遭遇相同,于是整件事变得合情合理了。

  难以置信的是,手机版QQ能畅通无阻访问,使用SS+sock5代理登录QQ的时候,发现发送接收照片功能已废,但之前提交过(缓存在腾讯服务器)的照片、表情可以正常接收。

0x02 抓包

  通过charles抓包发现,登录QQ时,如果网络正常,只会连接一个登录服务器,默认选择TCP登录。
tcpconn2.tencent.com:80 //默认TCP登录服务器

  当网络不畅(QQ被屏蔽时)会遍历所有登录服务器(共6个域名)
http://tcpconn.tencent.com - http://tcpconn6.tencent.com

  图中可见,tcpconn六个服务器都成功连接,证明它并不是直接屏蔽域名和解析出来的ip来限制登录的。
Screen Shot 2015-12-06 at 19.47.55.png

接着,尝试输入错误密码,果然是会反馈密码登录错误,这又再次证明与登录服务器的TCP通讯是正常的。

WeChat_1449405734.jpeg

0x03 尝试手机登录并抓包

  选择更换登录的TCP_UDP服务器地址无果后,尝试了解为什么手机QQ可以登录。起初用Android同一网段抓包,但初步发现Android代理只能抓取自带浏览器的内容,其他软件数据不通过代理。于是用了基友的苹果肾机了
  抓包发现,IOS版手机QQ并不通过tcpconn*.tencent.com访问,或者通过苹果的推送服务进行信息传输,但抓到这个,访问后发现是基于node.js的,用途不明(Offline估计是离线消息还是什么?)

WeChat_1449406537.jpeg

0x04 找到被屏蔽路由

  通过traceroute tcpconn2.tencent.com 返回信息发现,经过的第三个路由正是能正常登录QQ的三楼实验室的路由10.1.56.254(蓝框),而我处在路由192.168.41.254 (红框),可见在路由192.168.24.253处,QQ已被屏蔽。
WeChat_1449402626.jpeg

0x05 开心大发现

  偶然发现,四楼实验室和三楼实验室虽处于不同网段内,但可以ping通,可能是因为四楼路由要经过三楼的缘故吧。然而传递单向,三楼却ping不通四楼,构思着三楼可以搭一台prxoy server(又或者可以用无线路由做server..然后四楼用其proxy登录即可。

<span id="solution"></span>
WeChat_1449401499.jpeg

解决方案

1.使用代理...
2.使用WEB QQ..
3.三楼搭proxy..

5.咳咳...

由于SS+Sock5代理过于麻烦,而且看到小伙伴用的第三方免费代理好有安全性的问题,于是用COW在aliyun搭了个代理,配置如下

type:HTTP proxy
ip:proxy.pwfee.com
port:1234
user&&passwd:sys (实验室首字母)

<center>Win版QQ配置如下
qq.jpeg</center>

Dec 11更新:

在OSX环境使用并没有出现什么问题,但今天小伙伴反馈称,使用代理后,QQ传图等功能依旧无法使用。在Win下测试了一下,发现Win版QQ与OSX不同,Win版QQ客户端使用HTTP代理后,访问用户资料页面等操作依旧通过IE直连服务器来实现的。
<center>12.jpg</center>
<center>访问用户资料页面出现错误提示</center>
<center>1.jpg</center>
<center>抓包显示以上域名无法访问(被屏蔽)</center>

<center>3.png</center>

<center>4.png</center>

几番折腾之后,只能想到用Shadowsocks的PAC功能解决。
PAC->编辑本地PAC文件,然后打开pac文件。
1.查找"qq"会发现,有一行"@@||qq.com",即为将qq.com排除在代理访问名单之外,想让qq在代理访问之列,必须将其删除。
2.删除后添加".qq.com",即为*.qq.com都通过代理访问。

<center>完</center>

本人技术有限,错漏之处,敬请指出!

Tags: None
Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment

已有 5 条评论
  1. 是时候多缓存几张表情了

  2. 使用 wireshark 抓包看下,看是直接 drop 的还是返回的 rst 的包,ttl 能基本判断设备位置。

    1. @virusdefender现在实验室要上网的几乎都用SS了(可怕

  3. 在你电脑用charles提供http抓包,然后用wireshark抓包看看捣乱的TTL,然后判定位置。

    1. @imlonghao最近在学用Wireshark..好快就可以填坑了~