【爬虫】charles手机抓包环境设置(设置系统证书)

1.说明

想要对手机抓包,最关键的是需要设置好根证书,用户证书在安卓7.0之后就不受信任了,想要对手机app抓包,就需要把用户证书设置为系统证书(根证书)

注意,想要设置为根证书,你的安卓需要获取到root权限,但是root会有风险,很大app(如银行类app)都不能在已root的设备上运行,所以一般推荐使用模拟器操作,此处以雷电模拟器9和charles为例进行演示

2.charles设置

设置ssl抓包类型,菜单栏Proxy--SSL Proxy Settings,勾选"Enable SSL Proxying",新增一个类型,IP端口都设置为"*"(表示全部)

设置远程端口,菜单栏Proxy--Proxy Settings,Http Proxy这里设置一个端口号,例如8888,勾选下面两个传输类型

查看远程安装证书信息,点击菜单栏Help--SSL Proxying--Install Charles Root Certificate on a Mobile Device or Remote Browser,它弹出一个窗口,显示本机代理的IP端口(我这里是10.10.66.1:8888),以及证书下载URL(chls.pro/ssl

3.模拟器设置

打开模拟器的设置页面,找到root选项把它开启,大多数模拟器都支持root,都是在设置界面可以打开root开关,如果有写入设置也需要开启

打开系统设置,找到WLAN设置,然后把点击当前网络右上角的编辑按钮,把代理设置为Charles帮助信息显示的IP端口即可

4.设置用户证书

打开系统自带的浏览器,它会弹出证书不受信任的问题,不管它,一路点击"继续"知道不弹出提示。现在访问一下chls.pro/ssl,此时Charles那边应该会有一个确认按钮,确认之后模拟器就会下载证书,下载完完成之后点击安装,模拟器会提醒设置一个锁屏(图案或pin都可以),这时候就可以安装证书了,证书名可以随便写

5.设置系统证书

现在设置的是用户证书,在安卓7之后app是不信任用户证书的,所以我们还需要把它设置为系统证书,其实就是把这个证书文件复制到系统证书目录里就行

用户证书目录:/data/misc/user/0/cacerts-added/

系统证书目录:/system/etc/security/cacerts/

这个操作很容易,只要获取到root权限就行,你可以直接在文件管理器里把系统证书复制到用户证书的文件夹里,证书是一个.0结尾的文件,我这里是ca499da3.0,如果以前没有安装过用户证书,那用户证书文件夹里只有一个文件,很好找到的

如果你有adb,也可以使用adb的shell操作

shell 复制代码
adb devices
adb shell
su
mount -o remount,rw /system
cp /data/misc/user/0/cacerts-added/ca499da3.0 /system/etc/security/cacerts/

另外我们可以发现,其实证书文件的文件名就是一个哈希值,你也可以直接从charles导出证书,然后复制到安卓的证书文件夹里就行,但这种做法前提是你能使用openssl

首先,导出Charles证书文件(pem格式)

然后使用openssl生成哈希(证书文件名)

shell 复制代码
openssl x509 -subject_hash_old -in 证书文件路径

之后把Charles证书文件改名为哈希.0,最后使用adb把它push到对应的证书文件夹里即可

相关推荐
llxxyy卢1 小时前
文件操作之文件下载读取全解
安全
虹科网络安全4 小时前
艾体宝洞察 | 利用“隐形字符”的钓鱼邮件:传统防御为何失效,AI安全意识培训如何补上最后一道防线
运维·网络·安全
冰敷逆向6 小时前
苏宁滑块VMP深入剖析(一):解混淆篇
javascript·爬虫·安全·web
小五传输6 小时前
隔离网闸的作用是什么?新型网闸如何构筑“数字护城河”?
大数据·运维·安全
APIshop6 小时前
Java爬虫1688详情api接口实战解析
java·开发语言·爬虫
石像鬼₧魂石7 小时前
内网渗透是网络安全渗透测试
安全·web安全
Neolnfra10 小时前
渗透测试标准化流程
开发语言·安全·web安全·http·网络安全·https·系统安全
奋飞安全11 小时前
给你的Ida插上翅膀
安全·逆向
hugh_oo11 小时前
100 天学会爬虫 · Day 11:如何合理控制爬虫请求频率?让访问行为更像真人
开发语言·爬虫·python
llxxyy卢11 小时前
逻辑越权之找回机制接口安全
安全