QQ通信原理逐步解析日记

2009年05月13号  |  22:19分类:案例分析  |  标签:  |  

 

为什么标题中要加入“逐步”二词呢?因为Toad从来没对QQ的通信原理做过详细的Sniifer研究。

这是一份QQ通信原理的研究日记,Toad不敢保证这份日记的正确性,一旦发现错误,Toad会及时更正,同时,也希望读者朋友及时指出来!

通过SE,Toad知道了QQ使用的应用层协议是TCPF(文字聊天协议族)全称为:“Text Chatting Protocol Family”,呵呵,第一次听说这个协议,不知道是国际标准,还是腾讯自己设计的。不知道其协议的格式是怎样的,一会儿Sniffer看一下。研究所使用的软件环境如下:

WIN 2003+QQ 2009+科来网络分析系统

很意外,科来已经为我们准备好了QQ的过滤规则,不用自己去写了,Very Good!

OK,让我们开始吧,下图是登录QQ,10秒内的数据抓取结果:

 

QQ通信原理Sniifer图

                                                                      图1

 

一共有236个数据包 。刚一登录,QQ客户端就向服务端发送了8个数据包。大家注意看,这8个数据包的目的IP都不一样,但目的端口是一样的:8000,源端口则为4000-4008。我们再来看看这8个数据包协议首部情况!QQ使用的UDP协议这个外星人都知道,直接看应用层首部:

QQ之TCPF协议首部Sniffer图

                                                                   图2

这8个数据包中,TCPF协议首部中都有“数据包头”,“数据包尾”两个协议域,且,值都是固定的,前者为:2,后者为:3。这应该是TCPF协议类似“边界符”的设计。版本标识,不知道是指TCPF协议版本,还是指QQ版本!命令:145,不知道意义是什么,根据Toad的经验,不同命令会触发服务器不同的处理行为,下来再仔细研究下。顺序号,通过分析,感觉跟TCP中SYN、ACK标志的意义相同,应该是防止数据错位的一种设计!QQ号码,这个就不用多想了,23111055正是Toad的QQ号码。加密数据协议域,这8个数据包都一样:64字节。

文章来源于>>TCP/IP协议分析博客     转载请注明:Toad的博客

喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

相关文章

2条评论 关于 “QQ通信原理逐步解析日记”

  1. stillfar 发表于: 五月 14th, 2009 18:23

    期待后续部分。。。加油~

  2. 猪笨无罪 发表于: 五月 19th, 2009 16:34

    文章写得不错,继续努力


发表您的评论

您必须 登录 才能发表评论。