| 2 | Tomcat安装CA证书 | Unix技术 CSDN |

| 3 | OpenSSL生成自签名的Tomcat服务器证书 | CSDN 博客园 |

| 4 | Tomcat配置双向SSL认证 | 新浪博客 博客园 |

| 5 | Tomcat SSL配置及Tomcat CA证书安装 | CSDN 博客园 |

2、QQ即时通信协议窥探

1、简述

QQ使用的应用层协议是OICQ,OICQ使用的传输层协议是UDP。OICQ协议提供可靠的传输服务。OICQ协议(网络即时通讯软件/网络寻呼机)基于互联网的即时通信工具,具有即时信息收发、网络寻呼、聊天、传输文件、手机短消息服务等功能,对传统的无线寻呼和移动通讯进行增值服务。

| 序号 | 标题 | 链接 |

| — | :-- | --: |

| 1 | OICQ通信协议及抓包示例详解 | 百度文库 |

| 2 | QQ传输协议分析 | 码迷 |

| 3 | 网络协议数据获取与QQ协议分析 | 百度文库 |

| 4 | wireshark抓QQ包 | 百度文库 |

| 5 | QQ协议分析及还原 | CSDN |

UDP协议是无连接方式的协议,它的效率高,速度快,占资源少,但是其传输机制为不可靠传送,必须依靠辅助的算法来完成传输控制。QQ采用的通信协议以UDP为主,辅以TCP协议。由于QQ的服务器设计容量是海量级的应用,一台服务器要同时容纳十几万的并发连接,因此服务器端只有采用UDP协议与客户端进行通讯才能保证这种超大规模的服务。

QQ客户端之间的消息传送也采用了UDP模式,这不同于国外的ICQ在客户端之间采用TCP进行通讯的模式。因为国内的网络环境非常复杂,而且很多用户采用的方式是通过代理服务器共享一条线路上网的方式,在这些复杂的情况下,客户端之间能彼此建立起来TCP连接的概率较小,严重影响传送信息的效率。而UDP包能够穿透大部分的代理服务器,因此我们在开发QQ的时候选择了UDP作为客户之间的主要通信协议,因此网友会觉得用QQ传送信息要比ICQ及其它采用TCP协议的ICQ类软件快。

当然,UDP协议优点突出,缺点也很明显:UDP包的传送是不可靠的传输,它不象TCP一样有包重传等机制,因此采用UDP协议的信息在传送过程中很容易丢失,这样就需要辅助的算法实现包重传机制以保证信息不会丢失,而QQ服务器的负荷非常重,因此在QQ 99b 0425之前我们只是在客户端到客户端之间传送消息时采用了这个辅助的机制,当消息在客户间直接传送无法到达时就需要通过服务器来中转,由于服务器端在老版本的时候迫于负荷过重的压力没有对主动发往客户端的信息进行传输控制,因此在老版本的时候容易造成通过服务器中转的信息丢失的现象。在QQ99c 0725之后我们单独设立出了几台专用的服务器采用包重传机制来中转消息(仅限于QQc之间传递的消息),确保通过服务器转发的消息也能够发送到对方的QQ。

2、OICQ通讯协议说明 协议分析网

协议说明:

协议由报文头(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

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频 如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)

架构师筑基包括哪些内容

我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的【架构师筑基必备技能】文档领取方式:点赞+关注,然后私信关键词 【666】即可获得免费领取方式!或者 可以查看我的【Github】

注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!

618156601)】**

注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!

[外链图片转存中…(img-r4J9O0wH-1710849361754)] [外链图片转存中…(img-AhrtxmeD-1710849361754)] 这份资料就包含了所有Android初级架构师所需的所有知识!需要的可以在我的GIthub里面去查看!

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: