使用Charles对Android App的https请求进行抓包
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本文背景公司新项目要求抓取目前市面上一些热门App的数据,经过研究发现很多App的网络请求都使用https进行数据传输,这样问题就来了,http使用明文传输所有请求都能拦截到,而https请求无法拦截
千家信息网最后更新 2025年01月31日使用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安全错误
数据库的锁怎样保障安全
网络安全人员评估法案
如何看待网络安全教育的重要性
微软最佳软件开发
工联数据企业数据库是什么一回事
关于网络安全手抄报图片8k
人工智能顶级索引数据库
金融机构网络安全案例分析
华为路由器发布内网用友服务器
物理服务器配备
网络技术升学班
计算机网络技术要数学
国泰安数据库学生权限
吱信网络技术有限公司是什么公司
数据库中将成绩提高百分之五
学的软件开发在高密找工作
数据库技术人
请收下这份网络安全知识
支付宝网络安全攻防战
网络技术都指的哪些方面
开发人员 数据库
uml用那些数据库
数据库技术基础考试相关内容
织梦模板用的是什么数据库
arma3服务器如何更改挂载
126发送邮件服务器
数据库分析 管理与架构
政采云软件开发
网络安全论文1200字
webpy 数据库
网络技术的sls0还是s1s0