使用Charles对Android App的https请求进行抓包
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本文背景公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦截
千家信息网最后更新 2025年12月02日使用Charles对Android App的https请求进行抓包
本文背景
公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦截。
所以这里我们要使用Charles来抓取https,但是笔者看了网上很多使用iOS设备进行抓取https的文章,经测试iOS8/10/11均无法进行正常抓取,即使信任证书也不行。
经过笔者的不断尝试,终于在Android5.0上成功抓取了https。研究后发现,在Android7.0以下可以正常使用Charles抓取。Android7.0以上应该是默认屏蔽了此种方法。
Charles安装
- 这里给出官网下载的链接
- 如果需要破解文件点击这里
- 安装破解过程可以查看这篇文章
Charles配置
配置电脑端的根证书
打开Charles,我这里使用的是v4.2.5版本:
安装根证书
Mac需要设置信任证书
安装后会弹出钥匙串访问界面,如图:
- 双击证书,弹出证书详细界面,点击『信任』选项,然后将所有设置为始终信任,如图:
在手机端配置根证书
在电脑端选择安装移动端的证书:
选择后会显示IP与端口号,用于手机设置http代理:
手机的网络上设置成电脑的http代理:
此时必须保证手机和电脑在同一网络,并且手机可以访问电脑的ip与端口设置完成后访问网络时,服务端会弹出提示,点击Allow(同意连接):
- 手机浏览器(笔者使用Chrome)访问chls.pro/ssl,下载证书并安装(证书名任意):
配置电脑端的抓取规则
- 进入Charles的SSL代理设置:
2.勾上启动SSL代理,并添加一个抓取规则,比如这里加上一个抓取所有https(443端口)的请求:
3.此时手机上打开https请求的应用,应该就可以正常看到https请求的数据了:如图:
常见问题
1. 配置好后无法打开APP
在我们抓取时碰到个别APP在配置代理后无法打开,这个主要是因为该APP做了防止抓取处理,比如校验https的证书是否合法等,这种解决方法可以通过反编译APP,查看源码解决,难度较大。
2. 抓取到的内容为乱码
有的APP为了防止抓取,在返回的内容上做了层加密,所以从Charles上看到的内容是乱码。这种情况下也只能反编译APP,研究其加密解密算法进行解密。
证书
手机
电脑
配置
代理
网络
内容
数据
端的
笔者
如图
研究
乱码
方法
界面
端口
规则
问题
传输
加密
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
福建服务器散热片定制虚拟主机
文件存储用什么数据库
企业轻量云服务器
八年国家网络安全宣传周活动主
2018软件开发工资待遇
广州悦恒互联网科技
郑州软件开发定制
变电站网络安全隐患排查
数据库查询出来少个0
北京易美睿迅软件开发有限公司
软件开发公司行业
软件开发参考文献资料
学网络安全在美国一个月多少钱
资产管理数据库表的建立
软件开发套件
数据库sql的定义功能是什么
工业电子网络安全专项整治
奇安信入围山西网络安全等级保护
软件开发团队最少人员多少
地主游戏软件开发
服务器如何设置防护
维普数据库技术与应用
本地数据库怎么删不了
网络安全外运维区
数据库主机控制面板
组建个人存储服务器
网络安全信息泄露的调查问卷
北京国智惠民互联网科技有限公司
菜小依网络技术工作室
如何将docker打包到服务器