协议说明:

    协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成    

    发送者和接收者是系统内的程序种类,OICQ服务器0x01,传真服务器0x02,WEB服务器0x03,打印服务器是0x04,聊天服务器是0x05,OICQ用户是0x0A。    

OICQ用户到OICQ服务器的通讯协议 引导符 (0x81+0x0A+0x01)    

报文类型 报文内容 报文说明    

0x01  

昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学 历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要 将他加

入好友时询问是否允许    

0x02 服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身    

0x03 服务号(L)+对方服务号(L)+内容(S) 发送信息到某人    

0x04 服务号(L)+组号(L)+内容(S) 广播信息,组号=0为全体    

0x05 服务号(L)+朋友服务号(L) 查看朋友资料    

0x06 服务号(L)+组名称(S) 增加组    

0x07 服务号(L)+组编号(T)+组名称(S) 修改组名称    

0x08 服务号(L)+组编号(T) 删除组    

0x09 服务号(L)+移动人数(T)+{朋友服务号(L)+目的组号(T)} 移动组成员    

0x0a 服务号(L)+起始编号(L)+回传个数(T)+查找标志(T) 看谁在线上    

查找标志 1=向小找 2=向大找    

0x0b 服务号(L)+SQL语句(S) 自定义查找    

0x0c 服务号(L)+朋友服务号(L) 增加好友    

0x0d 服务号(L)+朋友服务号(L)+加入原因(S) 请求加入好友    

0x0e 服务号(L)+朋友服务号(L) 删除好友    

0x10 服务号(L)+显示模式(T) 更改显示方式 1上线2隐藏3免打扰4离线    

0x11 服务号(L)+监视服务号(L) 监视某人谈话    

0x12 服务号(L)+昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地 址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)更改用户 基本信息    

0x13 服务号(L)+朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件    

0x14 服务号(L)+朋友服务号(L)+允许/拒绝 是否允许发送文件    

0x15 服务号(L)+朋友服务号(L)+文件内容(B) 发送文件    

0x16 服务号(L) 连接测试报文    

0x17 服务号(L)+朋友服务号(L)+同意标志(T) 应答对方请求加入好友    

0=拒绝    

1=同意     

OICQ服务器到OICQ的通讯协议    

报文类型 报文内容 报文说明    

0x01 成功/失败(T)+服务号(L) 新用户注册结果返回    

0x02 成功/失败(T)+组个数(T)+{组名称(S)+组编号(T)+朋友个数(T)+{朋友服务号(L)+肖像编号(T)+朋友状态(T)+朋友昵称(S)] 老用户注册结果返回    

朋友状态    

1=上线=2隐藏=3免打扰4离线    

0x03 标志(T) + 朋友服务号(L)+信息(S)+信息类型(T) 标志 1=系统 2=用户    

发送消息,服务号=0是系统消息    

1=用户某某已经把你加为好友    

2=用户某某请求你通过身份验证    

3=用户某某同意了你的验证要求    

4=用户某某拒绝了你的验证请求    

0x04 成功/失败(T)+朋友服务号(L)+昵称(S)+肖像(M)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市 (S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)朋友信息回送     

0x05 成功/失败(T)+组编号(T)+组名称(S) 增加组结果回送 1/0    

0x06 成功/失败(T)+组编号(T)+组名称(S)修改组名称结果回送1/0    

0x07 成功/失败(T)+组编号(T) 删除组结果回送1/0    

0x08 成功/失败(T) 移动组成员结果回送1/0    

0x09 成功/失败(T)+在线个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 查找在线人员结果回送    

0x0a 成功/失败(T)+找到个数(T)+{服务号(L)+昵称(S)+肖像(M)+省(T)+市(S)} 自定义查找结果回送(最多50)    

0x0b 标志(T)+朋友服务号(L) 增加好友结果回送标志    

0=数据库失败    

=1成功    

=2需要身份验证    

=3对方不允许加入    

=4需要身份验证且不在线    

0x0c 朋友服务号(L)+昵称(S)+肖像号(M)+朋友状态(T) 给在线用户增加好友    

0x0e 成功/失败(T)+朋友服务号(L) 删除好友结果回送    

0x10 服务号(L)+显示模式(T) 显示模式回送 =1上线=2隐藏=3免打扰4离线    

0x11 成功/失败 更改用户基本信息结果回送    

0x12 朋友服务号(L)+文件名(S)+文件长度(L) 请求发送文件    

0x13 朋友服务号(L)+允许/拒绝 是否允许发送文件 1允许 0拒绝    

0x14 朋友服务号(L)+文件内容(B) 发送文件    

0x15 朋友服务号(L)+当前状态(T)朋友状态回送(系统发送)=1上线=2隐藏=3免打扰4离线    

0x16 服务号(L) 连接测试

QQ通讯方式

    QQ使用UDP端口8000做为主要的通讯端口,并提供HTTP(80)和HTTPS(443)端口做为辅助的通讯方式。 登陆时,QQ首先尝试去连接服务器的8000端口,如果不通的话就会依次去尝试80和443端口。

    QQ 的聊天通讯信息是加密的,每次登陆时QQ客户端会获取一个会话密钥,以后的通讯数据都会通过此密钥来进行加密。所以网络监控的方式 无法解密QQ的聊天信息。必须知道该QQ号的密码,从而截获会话密钥才能对聊天信息进行解密。QQ的文件传输并不进行加密,支持UDP和TCP两种方式, 通讯端口由双方协商确定。

MSN通讯方式

MSN聊天使用TCP端口1863做为主要的通讯端口,并提供HTTP(80)端口做为辅助的通讯方式。登陆时,MSN首先尝试去连接服务器的1863端口, 如果不通的话就会去尝试80端口。MSN在登陆时还需要使用HTTPS(443)端口来进行密码校验,密码校验采用了HTTPS的加密方式确保用户密码不被嗅探器或者监控软件监控到。

MSN文件传输采用SIP协议,支持TCP和UDP两种方式。通讯端口在通讯时由双方协商确定。如果传输双方可以建立直接连接, 则通过直接连接来传输文件,否则可以通过服务器中转来传输(速度较慢)。