Charles抓包https接口指南

article/2025/10/31 4:46:23

Charles抓包https接口

作为一名iOS攻城狮,如果你没有听说过青花瓷这款软件,我只能说你还是回家洗洗睡吧。

最近在写一个需求,服务端不知道怎么设计接口。我只好找来了一个又类似功能的app,想要一睹芳容。于是主角Charles软件开始登场,当我按照操作设置完成开始抓取数据的时候,结果却一无所获。这个拦路虎就是https了,以前曾经研究过https的抓包,于是就按照记忆中的操作设置一遍,结果仍是一无所获。后来换了一台9.3.2系统的测试机,竟然抓取到了数据(PS:最初使用的是10.3.2系统手机)。真是百思不得其姐,经过不断的尝试,终于发现了原因所在。

好久没写东西了,废话多了点。言归正传,直接上干活

1.Charles抓取http接口数据

这个资料网上一大堆,此处不再赘述。本着认真负责的态度我还是到网上找了一篇图文并茂的文章供大家参考iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解

值得一提的是,这篇文章中讲解的使用Charles修改返回数据,在调式过程中还是很有用的,感兴趣的可以看一下

2.Charles抓取https接口数据

概括来说https抓包只需要两步(PS:忽略了设置代理信息等步骤)

安装相关证书

配置环境

2.1安装相关证书

此处网上能够搜到的资源大多事给你提供了一个证书下载地址,根据我的操作,这是没有必要的。安装证书只需要一下几步:

2.1.1.安装电脑证书

安装电脑证书

注意要在钥匙串中找到对应的证书,设置信任

2.1.2.请求手机证书

Help-->SSL Proxying

Charles 3.10.2 版本界面

Charles 4.1.2 版本界面

在相关的手机中打开Safari软件,输入图片中默认的地址,手机会自动跳转到证书下载界面,按照提示安装即可

2.2配置相关环境

1.SSL Proxying Settings

2.设置可用状态以及抓取端口信息

3.添加端口

终于大功告成了,赶紧去试一下吧。什么10.0系统抓不到?好吧,忘记给大家划重点了,经过换了三个版本的Charles,无数次的尝试,我终于得出了结论:这个和Charles没有任何关系。。。。

那么究竟是什么原因那,重点来了:

粗心的你真的以为,你以为的就是你以为的么。。。

重点 :请看大屏幕

证书安装界面

你可曾注意到方框中的信息,就算注意到你可曾想过什么。

接下来到了解密的时候了:

iOS9.0 系统相关界面

iOS10.0 系统相关界面

不错谜底就在这里,iOS10安装证书描述文件以后,需要手动设置信任证书

iOS10.0 手动设置证书信任

终于大功告成,来看一下效果吧。

iOS10 抓取京东 https 接口信息

原理简析
如果是HTTP请求,因为数据本身并没加密所以请求内容和返回结果是直接展现出来的。
但HTTPS是对数据进行了加密处理的,如果不做任何应对是无法获取其中内容。所以Charles做的就是对客户端把自己伪装成服务器,对服务器把自己伪装成客户端:

  1. Charles拦截客户端的请求,伪装成客户端向服务器进行请求
  2. 服务器向“客户端”(实际上是Charles)返回服务器的CA证书
  3. Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles拿到了服务器证书的公钥)
  4. 客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
  5. Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。(这一步,Charles拿到了对称密钥)
  6. 服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
  7. Charles拦截服务器的响应,替换成自己的证书后发送给客户端

当然,如果用户不选择信任安装Charles的CA证书,Charles也无法获取请求内容。还有一种,如果客户端内置了本身的CA证书,这时如果Charles把自己的证书发送给客户端,客户端会发现与程序内的证书不一致,不予通过,此时Charles也是无法获取信息的。

 


http://chatgpt.dhexx.cn/article/HGhMvFw9.shtml

相关文章

Charles抓包 - 手机

目的:抓IOS、Android端接口数据,保证IOS、Android和电脑在同一网络下: 1、首先需要将 Charles 的代理功能打开,在 Charles 的菜单栏上选择 “Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上…

抓包工具-Charles

目录 1.环境搭建 2.Charles的界面&功能介绍 2.1提供两种封包视图:Structure和Sequence 2.2模拟网速 2.3重复发送请求 2.4修改服务器返回内容 2.4.1断点功能Breakpoints 2.4.2重写功能Rewrite 2.4.3重定向MAP(后面在介绍) 2.5修改…

Charles抓包微信小程序数据

本文中使用的是mac上的抓包工具charles进行抓包,手机是apple11。 Charles 上的设置: 要截取 iPhone 上的网络请求,我们首先需要将 Charles 的代理功能打开。 在 Charles 的菜单栏上选择 Proxy – Proxy Settings 点击进入如下界面 填入代…

【测试】Charles抓包

一、Charles 简介 Charles 是一款抓包软件,更专业,可以抓取电脑上所有软件发的包。 抓包原理:charles 自动创建了一个代理,发送数据都要经过代理,同时把所有 路过的数据全部展示出来。 Charles激活码计算器&#xff1…

如何使用Charles抓包,手机、电脑web端。Charles抓包看这一篇就够了

直接分步骤来讲了。 下载Charles: Charles下载地址 对软件进行常规操作: 一个好用的工具地址 打开网址之后,输入一个名称,然后点击“生成”即可。生成之后如下图: 安装软件就不多说了。装完之后打开,点击H…

抓包工具 之 Charles 的使用

目录 一、下载Charles 二、绿化Charles 1. 打开绿化网址 2. 生成注册码 3. 打开Charles 三、功能说明 四、代理设置 1. proxies 2. options 3. macOS 五、安装信任证书 1. 安装证书 2. 在钥匙串中找到证书 3. 双击设置信任 六、电脑接口代理开启 1. 开启 2. 问…

Charles 抓包工具教程(二) Charles 抓包HTTPS请求

本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ Charles 抓包HTTPS请求 一、MacOS 安装 Chares 证书二、Charles 设置 HTTPS 代理三、客户端(安卓手机)安装 Charles 证…

Charles抓包工具实战教程(完结)

Charles抓包工具测试实战教程 文章目录 Charles抓包工具测试实战教程学习准备目标文章介绍Charles介绍Charles是什么?Charles工作原理?Charles能做什么?Charles简介 Charles安装和配置Charles组件介绍Charles主导航栏介绍Charles代理配置Charles访问控制windows代理设置mac代…

charles抓包工具使用教程

声明:本文转载自https://www.cnblogs.com/Clairewang/p/Charles.html 一、Charles官网下载链接:https://www.charlesproxy.com/download/ 二、抓包步骤: 1、安装Charles,并打开 2、电脑设置代理端口:打开charles->…

手把手教你如何使用Charles抓包

目录 一、为什么使用charles 二、下载地址 三、web抓包 四、App抓包 五、Charles过滤 六、弱网测试 七、打断点篡改数据 八、修改请求数据 九、重复发送请求 一、为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结…

charles抓包(别名:茶壶)

一、Charles简介 Charles 是PC端的一款网络抓包工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完…

【干货】手把手教你如何使用Charles抓包

一、为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到。很多时候都是如此,如果一个方案不行,肯定要有替…

手把手教你Charles抓包工具使用

Charles简介 Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP…

【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题

岗位:高级机器学习算法工程师 笔试时间:2022-9-28 1 简答题 1、神经网络中防止过拟合的方法 (1)降低模型复杂度 (2)正则化 ,正则化正是通过在损失函数上添加额外的参数稀疏性惩罚项&#xf…

算法工程师面试:必备的机器学习、深度学习知识点

点击上方“机器学习与生成对抗网络”,关注星标 获取有趣、好玩的前沿干货! 作者 Oldpan 来源 oldpan博客 编辑 极市平台 前言 最近这段时间正临秋招,这篇文章是老潘在那会找工作过程中整理的一些重要知识点,内容比较杂碎&#xf…

算法工程师知识补充 - 机器学习1

书籍及视频:周志华 机器学习 公式推导:github地址 代码讲解:机器学习实战 第1章 绪论 相关术语:数据、算法、模型、预测(测试样本、泛化能力) 模型:有监督学习(分类、回归&…

2018年机器学习算法工程师——秋招自我总结

2018年机器学习算法工程师——秋招自我总结 (2018.3.12 ~ 2018.10.14) (1)简历 - 笔试 - 面试(一面,二面,……,HR面,加面) - offer - 签约 - 入职&#xff0…

【算法工程师】机器学习面试问题总结

哎呀,要秋招了啊~ 不禁感叹:How time flys~ 重新出发~ 后期我发现还是需要把相关文章的链接放上来的,方便大家深入理解记忆,如果你没时间就直接看文字,如果有时间记得把链接点开看看…

机器学习算法工程师面试总结(基于个人简历自用)

机器学习 回归和分类的相同点和不同点? 相同点:都是对输入做预测,属于有监督学习。 不同点:输出不同、目的不同、结果不同。 分类的输出是离散的、是所属类别、是定性的,回归的输出是连续的、是值、是定量的。 分类的目…

机器学习算法工程师面试问题汇总(持续更新)

目录 一、通用基础知识 1.1ReLU与Leaky ReLU 1.2损失函数 1.3怎么去选择损失函数呢? 1.4Focal loss及其优缺点 1.5特征归一化/标准化的意义 1.5Batch Normalization的原理与作用 1.6解决过拟合的方法。 二、特征工程 2.1如何进行特征选择? 三…