有朋友公司需求如下,手机通过WIFI连接上网,而老板要求,员工使用手机只能上微信,而不能上其他网页和看在线视频。上网搜索了微信使用协议和端口。
微信通过TCP方式来进行通讯。
TCP通讯方式分析
通讯端口分析
远程通讯端口范围: 80,443,80,443,8080。
HTTP方式分析
在特征分析中,发现微信会采用HTTP协议进行通讯。
连接的主机(Host)(正则表达式)为:^short\.weixin\.qq\.com,^(mmsns|mmbiz)\.qpic\.cn。
TLS方式分析
在特征分析中,发现微信会采用TLS协议进行通讯。
连接的TLS主机(正则表达式)为:^(wx|weixin|res\.wx)\.qq\.com。
这个协议只是用来检测和屏蔽微信的,不能监控聊天记录内容。
来源:笨驴技术
安桌手机,可以用tcpdump进行抓包。。分析!!
初步分析结果:
使用80、8080,登陆和交互。
使用:tcp 14000 端口 SCOTTY High-Speed Filetransferscotty-ft 发送语音文件TCP: 5222 5223 5228 80 8080 443
来源:http://bbs.51cto.com/thread-1031608-1.html
微信、手机QQ网络行为简析
测试环境:
智能手机一部(打开wifi关闭gprs) —-> linux wifi 热点 —-> 公网
分析手段:
- 在linux 上用tcpdump抓包,用wireshark分析抓到的数据
- 在linux上用iptables阻断特定流量,模拟网络故障,分别模拟了拦截udp 53/tcp 80/tcp 8080/tcp 14000/tcp全拦截等各种情况以及他们的组合
- 通过 adb shell在手机内执行netstat了解手机网络链接情况
微信网络行为:
- 程序启动后,优先尝试DNS解析特定域名(support.weixin.qq.com,short.weixin.qq.com,long.weixin.qq.com,wx.qlogo.cn);
- 如果DNS查询不可用,程序转为使用hardcode的ip链接服务;
- 如果dns可用,返回的ip为根据ISP智能解析的结果,程序使用返回的ip链接服务;
- 程序仅在注册阶段使用https链接,内容不详;
- 程序使用tcp 80/8080链接服务器,其中80为http协议,8080为未知协议;
- 80/8080两个端口同时或任何单独一个,均可提供服务;
- 80端口为短链接,8080为长链接, 程序会优先使用8080端口;
- 没有使用udp传输数据;
- 当1-2次发送失败时,客户端会弹出提示“当前网络状况不好,是否提交反馈数据”,确认后客户端试图通过web提交反馈数据;
手机qq网络行为:
仅列出跟微信不同之处
- 尝试的域名不同: monitor.uu.qq.com,3gimg.qq.com, msfwifi.3g.qq.com, kiss.3g.qq.com;
- 除了80/8080外,还有tcp 14000,功能与8080相同;
- 程序会优先尝试80/8080,只有这两个不可用时,才尝试14000;
- 其余同微信;
来源:http://noops.me/?p=327
方案设想:只开放以上端口,其他上也是全部开放了,在上网出口处加上网行为管理设备或者软件进行控制,只允许以下正则的网址通行:
^short\.weixin\.qq\.com,^(mmsns|mmbiz)\.qpic\.cn
^(wx|weixin|res\.wx)\.qq\.com
以下是软件实现方式
评论前必须登录!
注册