5.Android逆向协议-初识HTTP和HTTPS协议

news2024/7/4 1:26:19

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:微尘网校

上一个内容:4.Android逆向协议-详解二次打包失败解决方案

从现在开始正式进入协议分析了。

首先客户端与服务端之间是如何通信的?实际上就是客户端向服务端发送一个网络请求(HTTP、UDP、TCP请求),服务端收到请求之后一般会给客户端返回一些数据(服务端给客户端发送一些数据),然后客户端收到这些数据之后一般会解析、处理这些数据,这就是客户端与服务端之间的通信。

最常见的就是浏览器,当输入一个网址,浏览器会显示一些画面(图片、文字、视频),这些画面就是服务端返回的数据。

比如输入 CSDN计算机王然后按搜索按钮,按了搜索按钮就会给服务端发送请求,浏览器都是HTTP、HTTPS请求,然后服务端会根据 CSDN计算机王 这个关键字返回与它相关的数据

返回的相关数据(不打马赛克会被搬),如下图的画面就是服务端返回给客户端数据之后,客户端处理之后的结果

然后协议是什么?协议就是一种规则,客户端与服务端通信,客户端给服务端发送请求,请求中会告诉服务端它想要什么,比如给服务端发送一个1表示要搜索的数据,2表示每天热点新闻的数据,这个1和2这种的数据就是规则的实现,只要都按照这个规则那数据就是正常的。

然后是客户端与服务端的连接,连接实际上是访问服务器的ip地址和端口(它就是一个数字,等后面分析过程中就可以看到了现在没法解释的有画面感),比如 www.baidu.com 这个是百度搜索引擎的网址,但它实际上是访问的百度公司的服务器上的ip和端口

然后网络协议一般指的是osi七层模型,它只是个理论,如下图客户端给服务端发请求 与 服务端给客户端发请求协议的过程,经过这样的过程(规则、协议)客户端与服务端就可以正常的通信了

然后基于osi七层模型实现出了TCP/IP协议,最常用的就是TCP/IP协议,它只用了osi模型中的4个,分别是应用层、传输层、网络层、链路层

应用层实际上的协议实现:

http、ftp、tftp、dns、smtp等,常用的就是http协议

传输层实际上的协议实现:

TCP、UDP

网络层实际上的协议实现:

IP等

链路层实际上的协议实现:它是与网络连接有关

帧中继 (Frame Relay)、点对点、以太网、无线局域网

上方每层具体的实现没有细说,原因对于逆向来说没啥用,只要知道有这种东西就行,就算现在知道是什么了也不会用

然后常用的请求方式,POST、GET

POST:用于客户端提交数据给服务端,它的数据在body中,可传输大数据

GET:用于客户端获取服务端上的数据,它的数据在header中(网址连接里),不能传输大数据

如下图,输入www.baidu.com然后回车,这就属于GET请求,GET、POST后面开始分析协议的时候会经常见到,所以现在不理解也没事,后面分析的时候看看它们具体是什么东西就能懂了

然后是服务器返回数据的状态码,就是说给服务端发送一个请求,这个请求有没有发送成功?状态码就是用来解决这个问题的

创建的状态码

HTTP协议简单说明

http它是应用层,使用tcp协议建立连接,也就是客户端与服务端通过tcp进行连接,连接之后使用http协议 发送请求、接收请求

http分两种:普通协议(http)、安全协议(https)

http通俗讲就是数据(请求)明文传输、https是数据(请求)加密之后传输

下图中ssl、tls知道有这个东西就行,我们用不到,操作系统都实现好了

加密算法,在协议分析非常常见

它有对称加密、非对称加密、哈希算法

对称加密:

有流式、分组两种,加密和解密都是使用同一个秘钥,一般使用分组

它的加密常见的有:DES、AES-GCM、ChaCha2--Poly1305等,常用DES、AES-GCM

非对称加密:

加密使用的秘钥和解密使用的秘钥是不一样的,分别称为公钥、私钥,公钥和算法是公开的,私钥是保密的,它性能低、安全性超强、加密的数据长度有限

它的加密常见的有:RSA、DSA、ECDSA、DH、ECDHE,常用RSA、DSA

对称加密相当于一个门用一把钥匙开门和锁门,非对称加密相当于锁门有锁门的钥匙,开门有开门的钥匙

哈希算法:

将任意长度的信息转换为较短的固定长度的值,通过数据加密后会变小,它的算法不可逆,就是只能加密不能解密

常用算法:MD5、SHA-1、SHA-2、SHA-256,常用的是MD5、SHA-1

数字签名:

数字签名就是在数据的后面再加上一段内容(这个内容是经过哈希后的,这个内容被称为数字签名),这样可以证明信息没有被修改过

在HTTPS协议中它会使用非对称加密算法加密对称加密的秘钥,然后用对称加密算法加密数据,这样的结合使用


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1886426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Sui Bridge激励计划更新,一周后结束

Sui Bridge的激励测试网阶段将于7月8日结束,这是最后一周参与的机会。在这一关键阶段,社区反馈和全面测试对于确保Sui Bridge在主网上线时的顺利运行至关重要。 为了确保你的操作符合奖励条件,请确保遵守以下要求: 完成完整的桥…

如何完成域名解析验证

一:什么是DNS解析: DNS解析是互联网上将人类可读的域名(如www.example.com)转换为计算机可识别的IP地址(如192.0.2.1)的过程,大致遵循以下步骤: 查询本地缓存:当用户尝…

[激光原理与应用-96]:激光器研发与生产所要的常见设备(大全)与仪器(图解)

目录 一、激光器制造设备 二、测试与校准设备 2.1 光功率计: 1、工作原理 2、主要功能 3、应用场景 4、测量方法 5、总结 2.2. 激光束质量分析仪: 1、概述 2、主要功能和特点 3、工作原理 4、常见品牌和型号 5、应用领域 6、总结 2.3 光…

【windows】亲测-win11系统跳过联网和微软账户登录,实现本地账户登录

问题原因:现在市面上销售的品牌笔记本和台式机基本上都预装了正版的Windows S11家族中文版操作系统,联网后系统会自动激活。在win11的版本中,隐藏了关闭跳过连接网络的按钮,默认强制需要注册微软账户登录才能正常使用。 一、跳过…

亚马逊TM商标跟卖,同行截流采集,人工手动跟卖选品更方便!

区分TM标,软件自动查询,人工手动查询方便。 大家好,跟大家说下如何区分TM标。 选择相对于的站点,选择TM。 软件采集出来的已备案、未备案TMR标,现在点击TM标就会跳到美国商标局。 可以清晰的看到这个地方只有一个序…

Windows下快速安装Open3D-0.18.0(python版本)详细教程

目录 一、Open3D简介 1.1主要用途 1.2应用领域 二、安装Open3D 2.1 激活环境 2.2 安装open3d 2.3测试安装是否成功 三、测试代码 3.1 代码 3.2 显示效果 一、Open3D简介 Open3D 是一个强大的开源库,专门用于处理和可视化3D数据,如点云、网格和…

生成式AI赋能金融信贷:减少信用评分偏差

信用评分在确定谁获得信贷以及以何种条件获得信贷方面发挥着关键作用。然而,尽管这一点很重要,但传统的信用评分系统长期以来一直受到一系列关键问题的困扰——从偏见和歧视,到有限的数据考虑和可扩展性挑战。例如,一项针对美国贷…

【C语言】分支(选择)和循环语句

目录 简述选择语句简述if语句单if结构语法格式 if-else结构语法结构 语法结构 循环结构break和continuewhile循环语法结构 for循环语法结构 do while循环语法结构 简述 在c语言中分支和循环语句是极其重要的,就像生活中你难免要做一些判断和循环往复做一些事。 选…

python本学期所有代码!

第一单元 ----------------------------------------------------------------------- #圆面积的计算 radius 25 area 3.1415 * radius * radius print(area) print("{:.2f}".format(area)) --------------------------------------------------------------------…

idea常用问题记录

文章目录 1.ant构建报错编译错误1.1 解决办法 1.ant构建报错编译错误 Compile failed;xxx 1.1 解决办法

兴业小课堂|5分钟带你了解法拍房

在生活的城市拥有一个属于自己温馨的家 我相信这是绝大多数人最大的愿望 但看一眼房价再瞄一下银行卡 忍不住感叹一声太难了! “房价太高”?“一房难求”?“无购房资格”? 或许你应该了解一下法拍房! 一.什么是法…

2024年江西省研究生数学建模竞赛B题投标中的竞争策略问题论文和代码分析

2024年江西省研究生数学建模竞赛B题投标中的竞争策略问题论文和代码已完成,代码为B题全部问题的代码,论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解(问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建…

用Vue3和Plotly.js打造一个3D曲面图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Plotly.js绘制3D曲面图 应用场景 Plotly.js是一个强大的JavaScript库,用于创建交互式、可视化的图表和图形。它可以轻松地将复杂的数据可视化为直方图、折线图、散点图、3D曲面图等。 基本功能 …

数据结构常见图算法

深度优先搜索 时间复杂度 领接矩阵表示 O( n2) 领接表表示 O(n+e) 空间复杂度 O(e) DFS与回溯法类似,一条路径走到底后需要返回上一步,搜索第二条路径。在树的遍历中,首先一直访问到最深的节点,然后回溯到它的父节点,遍历另一条路径,直到遍历完所有节点…

TS---typescript的安装和tsc命令使用

什么是TS---typescript? (TypeScript是Microsoft公司注册商标) TypeScript具有类型系统,且是JavaScript的超集, 它可以编译成普通的JavaScript代码。TypeScript支持任意浏览器,任意环境,任意系…

2025中国淄博化工展|淄博化工技术展|淄博化工装备展

CTEE2025第九届中国(淄博)化工技术装备展览会 时间:2025年5月16-18日 地点:山东淄博国际会展中心 主办单位:山东省机械工业科学技术协会 青岛蓝博国际会展有限公司 众所周知,山东省是我国化工大省。2023年上半年&am…

WordPress主题开发进群付费主题v1.1.2 多种引流方式

全新前端UI界面,多种前端交互特效让页面不再单调,进群页面群成员数,群成员头像名称,每次刷新页面随机更新不重复,最下面评论和点赞也是如此随机刷新不重复 进群页面简介,群聊名称,群内展示&…

昇思MindSpore学习笔记2-04 LLM原理和实践--文本解码原理--以MindNLP为例

摘要: 介绍了昇思MindSpore AI框架采用贪心搜索、集束搜索计算高概率词生成文本的方法、步骤,并为解决重复等问题所作的多种尝试。 这一节完全看不懂,猜测是如何用一定范围的词造句。 一、概念 自回归语言模型 文本序列概率分布 分解为每…

SpringMVC的基本使用

SpringMVC简介 SpringMVC是Spring提供的一套建立在Servlet基础上,基于MVC模式的web解决方案 SpringMVC核心组件 DispatcherServlet:前置控制器,来自客户端的所有请求都经由DispatcherServlet进行处理和分发Handler:处理器&…

C语言+ MSSQL技术开发的 PACS系统源码:CT后处理技术之仿真内镜CTVE

C语言 MSSQL技术开发的 PACS系统源码:CT后处理技术之仿真内镜CTVE 仿真内窥镜VE VE是利用医学影像作为原始数据,融合图像处理、计算机图形学、科学计算可视化、虚拟现实技术,模拟传统光学内镜的一种技术。 又叫做腔内重建技术,是…