禁止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一些功能和聊天行为的使用。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值