禁止QQ与QQ协议

禁止QQ与QQ协议

自从腾讯公司1999模仿ICQ,推出OICQ后,一时间QQ的小企鹅占领了几乎所有中国所有电脑的桌面,因此QQ通讯的协议也引起了网络监控界的关心, 因为要禁止或者阻止QQ,必须需要分析QQ的协议,仅仅通过添加QQ的服务器是行不通的,因为QQ的服务器可以无限制的增加,一般人不可以随时跟踪到QQ 服务器的变化,而禁止QQ。


1、 QQ登陆

    要禁止QQ必须知道QQ连接服务器的方式,它主要有3种方式:1.通过本机UDP:4001开始的端口连接服务器UDP 8000端口;2.通过本机任意端口连接服务器80端口;3.通过通过本机任意端口连接服务器443端口。

2、QQ定时器:

    QQ大约每相隔20秒左右回向服务器发送一个心跳信息。



包头(QQ通过UDP传输时,包头具有以下格式):

前7个字节是包头,包头可以识别包的内容。包头的格式为:

第0字节:包标识:0x02。

第1-2字节:发送者标识。如果是0x01 0x00,表明是由服务器发送。
客户端的标识与所使用的使用的QQ版本有关,目前最新版本QQ2005(0x0c57)的标识为0x0c 0x57。
具体的协议的格式与这个字段所标识的客户端版本有关。目前我们以这个最新的0A1D版本来讨论。

第3-4字节:命令编号。具体的命令编号含义在下面有描述。
如果这个字段是0x00 0x01,那么这是一个注销请求包。如果这个字段是0x00 0x22,
而发送者标识是0x01 0x00,那么这是一个登录应答包。如果这个字段是0x00 0x22,而发送者标识是其它(例如0x0A 0x1D),
那么这是一个登录请求包。其它的命令代码表明是其它包,我们通过发送者标识来区分它是CSP还是SSP。

第5-6字节:命令序列号。客户端和服务器都有各自的当前发送序列号。每初始发出一个指令的时候,
使用当前的序列号,然后把当前序列号加一,如果超过0xFFFF,就绕回。如果是响应对方发出的命令,则使用这个命令的序列号。
例如,客户端当前的序列号为0x1110,它向服务发送一个0x0016命令,
它使用0x1110这个序列号,服务器收到以后,返回一个序列号为0x1110的0x0016命令响应。
下一次,客户端又发送一个0x0026命令,这一次它使用加一了的序列号0x1111,服务器也响应0x1111序列号的一个0x0026命令响应。
如果这是服务器要向客户端发送0x0017命令,它使用它自己的当前序列号,比如说0x2220,客户端收到以后,
也响应一个序列号为0x2220的0x0017命令应答。
我们可以通过序列号来判断发出的指令是否已经得到了应答,如果没有,可以重发。服务器对收到的命令的序列号
顺序没有要求。服务器也不会一定按照发出的顺序给予应答。


QQ命令定义:
0x0001 注销登录
0x0002 心跳信息(禁止QQ,这个命令相当重要)
0x0004 更改用户信息(包括密码等)
0x0005 搜索用户
0x0006 获取用户信息
0x0009 添加好友--不需认证
0x000a 删除好友
0x000b 添加好友--需要认证
0x000d 改变状态
0x0012 确认收到系统消息
0x0016 发送消息(禁止QQ,这个命令相当重要)
0x0017 收到消息(禁止QQ,这个命令相当重要)
0x001a 未知
0x001c 在对方好友列表上删除自己
0x001d 未知
0x0022 登录
0x0026 获取好友清单
0x0027 获取在线好友
0x0030 群操作指令
0x0080 收到系统消息
0x0081 收到好友状态改变消息

在分析的上面的协议的后百络网警可以完美控制QQ的使用,和禁止QQ一些功能和聊天行为的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值