新一代Internet技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
新一代Internet技术

UDP协议适用于无须应答、要求时效的软件使用,这样的设计正好与QQ追求的目标相符,所以QQ优先使用了此协议进行一切功能应用。但是,由于  UDP协议具有不可靠性,常会因种种原因导致消息或数据的发送失败。 显然,UDP协议由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。QQ在数据传输上更注重实际性能,为了获得更好的使用效果,往往可以牺牲一定的可靠性。因此,使用QQ来传输数据,在很多时候就成了一个“不错”的选择。 采用UDP协议,通过服务器中转方式。因此,现在的IP侦探在你仅仅跟对方发送聊天消息的时候是无法获取到IP的。大家都知道,UDP 协议是不可靠协议,它只管发送,不管对方是否收到的,但它的传输很高效。但是,作为聊天软件,怎么可以采用这样的不可靠方式来传输消息呢? 于是,腾讯采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。之所以会发生在客户端明明看到“消息发送失败”但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有收到服务器的应答包引起的。 以上就是今天我带给大家的关于QQ的一点小知识,内容有限,可是关于这方面的知识还很多很多,希望大家能自己收集来看看,我相信这对自己的成长是大有脾益的。 谢谢大家! 腾讯QQ QQ 的通信协议是一套基于二进制的数据自主开发的应用层网络协议,其中使用了一些公开的加密算法,QQ基本通信协议支持UDP和TCP两种基本协议方式。两种 方式的基本数据结构是一样的,只是TCP包多了一个描述长度的头部,那么我们就来看看QQ的登录过程是怎样的。 首先QQ 客户端向服务器发送一个请求登录令牌的数据包,服务器返回登录令牌。这个令牌是在服务器端生成的,和客户端的IP地址,版本信息等数据相关。 在QQ客户端得到登录令牌后,就会向服务器发送一个包含登录信息的登录请求,服务器首先会查看客户端的号码、IP地址和版本是否可以在本服务器上进行登 录,如果可以就验证客户端的登录信息是否与服务器上保存的登录信息一致,如果一致就向客户端返回一个连接成功的数据包,不匹配则返回登录失败,其实整个 QQ登录过程就是这么简单的两个步骤。 QQ登录描述 了解了QQ登录的过程后,我们还需要知道具体的数据包格式。QQ登录过程的数据包分头部,内容和尾部三部分。其中头部的格式固定为: 0x02 | 客户端版本 | 命令 | 序列号 | QQ号码 其中0x02是1个字节的标志,客户端版本2个字节,用于表示QQ客户端的版本,命令2字节,表示要发送的命令类型,例如请求登录令牌,登录请求 等;序列号是一个2字节的随机数,在一次QQ回话中通过它来确认回应包是否对应请求包,QQ客户端默认每次加1; QQ号码是4字节的QQ号,对于服务器来说这个字段是无所谓的。QQ登录过程数据包的尾部固定为0x03。 1.请求登录令牌包 包内容就是一条命令的具体信息。对于第一次发送的请求登录令牌包来说,包命令是0x0062,整个请求包如下所示: 1. 头部 2. 0x00 3.尾部 而服务器返回包则相对复杂一些,如下所示: 1. 头部 2. 回复码 0x00表示成功,1字节 3. 登录令牌长度,默认为0x18 4. 登录令牌 5.尾部 其中0x18表示登录令牌的长度,现在QQ默认的登录令牌长度是0x018。此令牌是在服务器端生成的。 2.登录包 这里面包含了和QQ密码相关的信息,登录包的具体结构如下: 1. 头部 2. 初始密钥,16字节。 3. 用户的密码密钥加密的一个空串等到的16字节 4. 36字节的固定内容,未知含义 5. 登录状态, 隐身登陆 还是什么。 1字节 6. 16字节固定内容,未知含义 7.. 登录令牌长度。1字节 8. 登录令牌 9.登录模式。1字节 目前只支持普通模式 10. 未知1 字节,0x40 11. 后面段的个数,1字节 1个段9字节(猜测) 12. 段,每次基本都是固定内容,未知含义 13. 长度不足则全部填0直到符合登录包长度。UDP模式登录请求包长度为416字节 14. 尾部 其中初始密钥是一个16字节的随机数,用于本身的加密,这里最重要的就是密码密钥加密的一个空字符串,所谓密码密钥就是用QQ口令进行两次MD5加 密后得到的密文,然后以这个密文作为密钥去加密一个空字符串,这次加密使用了反馈的TEA算法,加密结果放在QQ登录包里,让服务器去

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档