• 【爬虫】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操作

    adb devices
    adb shell
    su
    mount -o remount,rw /system
    cp /data/misc/user/0/cacerts-added/ca499da3.0 /system/etc/security/cacerts/
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    首先,导出Charles证书文件(pem格式)在这里插入图片描述
    然后使用openssl生成哈希(证书文件名)

    openssl x509 -subject_hash_old -in 证书文件路径
    
    • 1

    在这里插入图片描述
    之后把Charles证书文件改名为哈希.0,最后使用adb把它push到对应的证书文件夹里即可

  • 相关阅读:
    我们用STM32开发时为什么要使用架构
    MySQL面试重点-2
    java计算机毕业设计家教管理系统源码+mysql数据库+系统+lw文档+部署
    C语言中编译时出现警告C4013(C语言不加函数原型产生的潜在错误)
    从C语言基础到高级C语言 (结构体和位域)
    CMake常用命令(一) cmake_minimum_required
    一行小错为何产生巨大破坏-Facebook史诗级故障大反思
    全网最牛最全的测试开发技术之Docker容器实战
    PyTorch深度学习中卷积神经网络(CNN)的讲解及图像处理实战(超详细 附源码)
    反向散射耦合RFID系统的原理及特点,带你更深入的了解
  • 原文地址:https://blog.csdn.net/qq_39147299/article/details/134071638