文字聊天协议族(TCPF,TextChattingProtocolFamily):它主要支持与其它QQ客户端进行文字聊天。TCPF是建立在UDP协议之上。UDP数据包中的第一个字符02为这个协议族的标识。TCPF的服务器使用8000号端口,腾讯的QQ客户端软件一般从4000号端口开始尝试使用,但实际上,对客户端使用的端口号并没有限制。目前的研究集中在TCPF上。
其它未知可能存在的协议族:
我们观察到QQ除了与TCPF服务器通信以外,还有与其它的服务器使用UDP进行通信。目前我们观察到的服务器为218.17.217.111:8000。客户端使用与TCPF不同的端口。目前观察到的从客户端发出的包以06开头,而服务器返回的包则以01开头。目前其具体作用未知。我们注意到一个有趣的现象是,如果选择离线后重新上线,那么在发出登录包之前,这个通讯已经开始。我们暂时把它命名为数据传输协议族(DTPF,DataTransferProtocolFamily)。最新的研究发现,它传递的是QQShow的图片数据。
语音、视频聊天:目前还没有开始分析,尚未知道是使用UDP还是TCP协议。
聊天室:没有分析,应该是TCP协议。
随着对这些协议分析的开始,我们会给它们更精细的划分和恰当的命名。
TCPF:
TCPF是建立在UDP协议上的协议族,主要支持文字聊天功能。TCPF是以请求-响应模式工作的。也就是说,客户端发出一个请求,服务器端会给出一个相应的响应;服务器向客户端发送信息,客户端也会给服务器相应的响应。请求和响应通过相同的序列号来进行配对(请求代码也应该相同)。而且每种请求的发起方都是相同的。目前,已知的请求包括:
0x0001注销登录
0x0002心跳信息
0x0004更新用户信息
0x0005搜索用户
0x0006获取用户信息
0x0009不需认证方式添加好友
0x000a删除好友
0x000b需要认证的方式添加好友
0x000d设置隐身、示忙等状态
0x0012确认收到系统消息
0x0016发送消息
0x0017收到消息(服务器发起)
0x001a未知作用。
0x001c在对方好友列表上删除自己
0x001d未知作用。
0x0022登录
0x0026获取好友清单
0x0027获取在线好友
0x0030群操作指令
0x0080收到系统消息(服务器发起)
0x0081收到好友状态改变消息(服务器发起)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)