• (亲测完全可行)charles抓包夜神模拟器保姆级教程


    前言

    作为it人员,无论是为了测试,还是为了一些研究,抓包必不可免。夜神模拟器配合charles无疑是不错的选择。

    下面教程是本人通过网上大量资料进行实践,亲自实验后,完全没问题整理出来的最新教程,基本踩过的坑都提及了,细节满满,实属抓包教程的干货。

    全文从0开始配置夜神模拟器通过charles抓包的全过程,也解决了安卓7安装了证书还是不受信任的问题,教大家如何把证书安装到系统的CA证书里。

    一、安装charles和夜神模拟器

    1、安装charles

    1、建议安装使用最新版,官方下载地址 https://www.charlesproxy.com/download
    2、安装完成之后,有试用时间,不想试用查看: 完整教程

    2、安装夜神模拟器

    略,自行百度搜索夜神模拟器进行下载。

    本文下载地址到:D:\software\Nox (后面教程会提及,到时候替换为自己的夜神模拟器地址即可)

    二、配置环境

    开启Charles http代理

    1. 设置Charles代理。如果只是抓取手机端APP网络请求,可以将此前设置的电脑代理勾去掉(每次启动Charles都是默认开启的)

    2. 激活http代理功能。进入Proxy->Proxy Setting,设置http proxy代理端口:8888(一般默认设置为这个)

      配置8888

    设置SSL代理:
    Proxy–> SSL Proxying Setting–> Enable SSL Proxying -->Add。https访问的端口号都是443。在弹出的表单中Host填写域名,Port填443,*表示所有域名‘。

    设置SSL代理

    电脑防火墙设置:

    设置允许Charles通过防火墙。

    三、charles证书导入到夜神模拟器

    1、安装证书

    安装证书

    安装证书

    image-20220903204252223

    image-20220903204316094

    image-20220903204411700

    主要步骤:

    1、选择“本地计算机”,点击下一步;

    2、点击浏览按钮,弹出选择证书存储界面,并选择受信任的根证书颁发机构,点击下一步;

    3、完成。

    2、证书下载下来,为第四步做准备

    image-20220903204503008

    下载目录:(第五步会用到)

    F:\Documents\charles\charles4.6.1.cer
    
    • 1

    四、手机端Wifi添加代理

    1、找到宿主机的ip地址

    手机与电脑连接同一网段的wifi,进入wifi连接设置,设置代理为手动,填写主机名与端口号,
    主机名可以打开charles,获取IP地址,端口号为第二步中设置的端口号。
    image-20220903204804182
    image-20220903204744177

    2、在夜神模拟器 设置->WLAN,找到wifi,长按点击“修改网络”,将ip和port设置进去。

    找到wifi

    wifi设置代理

    3、手机浏览器打开,输入地址:http://chls.pro/ssl ,进行证书安装下载。

    安装证书

    安卓7.0版本前,到这一步就可以了,但安卓7.0版本之后的版本,还需要进行第五步。

    五、Android 7.0 之后抓取HTTPS数据出现unknown 和证书无效的解决方案

    该网站的安全证书偶问题

    原因:Android7.0 之后默认不信任用户添加到系统的CA证书

    解决办法:

    1、将抓包软件的证书安装成系统证书(手机需要ROOT)

    系统证书目录:/system/etc/security/cacerts/
    其中的每个证书的命名规则如下:

    .
    
    • 1

    文件名是一个Hash值,而后缀是一个数字。
    文件名可以用下面的命令计算出来:

    openssl x509 -subject_hash_old -in 
    
    • 1

    后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1

    2、下载Charles证书到电脑上,文件格式为.pem文件
    1、安装opensll命令

    Linux系统下可以之间使用openssl 命令
    window系统需要使用工具才能执行openssl命令

    window下载地址:https://slproweb.com/products/Win32OpenSSL.html

    下载之后之间解压,然后配置一下环境变量path就可以用了。

    2、获得证书的Hash值
    #到证书目录
    cd F:\Documents\charles
    #cer证书转.pem证书
    openssl x509 -inform der -in charles4.6.1.cer -out F:\Documents\charles\charles.pem
    
    #得到hash值
    openssl x509 -subject\_hash\_old -in F:\Documents\charles\charles.pem
    #执行完之后得到证书的Hash : dc32344a.0
    
    #然后把证书名由Charles.pem更换为dc32344a.0
    #目录 F:\Documents\charles\dc32344a.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    image-20220903210401927

    3、把证书安装到手机系统证书目录下(手机需要root)

    执行以下adb命令:

    #转到夜神模拟器安装目录的bin目录里
    cd D:\software\Nox\bin
    #查看是否多设备
    adb devices
    #如果有多设备。如下:则后面命令都带上  -s 127.0.0.1:62001 
    ## List of devices attached
    ## 127.0.0.1:62001 device
    ## emulator-5564   host
    ## emulator-5562   host
    ## emulator-5560   host
    ## emulator-5556   host
    
    
    # 判断是否有root权限命令:nox_adb.exe root,没有root权限 给模拟器勾选上root,重启模拟器即可
    adb -s 127.0.0.1:62001 root
    adb -s 127.0.0.1:62001 disable-verity
    adb -s 127.0.0.1:62001 reboot
    adb -s 127.0.0.1:62001 root
    adb -s 127.0.0.1:62001 remount
    adb -s 127.0.0.1:62001 push F:\Documents\charles\dc32344a.0  /system/etc/security/cacerts/
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    打开设置——安全——信任的凭据——用户,有charles证书,代表证书安装至系统证书成功。

    charles证书安装成功

    参考

    夜神模拟器安装证书后无效问题解决_MHSLZ1的博客-CSDN博客_夜神模拟器该网站的安全证书有问题

    (4条消息) 踩坑无数后的最全的charles抓包app安装教程_sweeeeeet的博客-CSDN博客_charles抓app包教程

    (4条消息) Charles的证书安装与配置_w1990end的博客-CSDN博客_charles证书安装

    Charles抓包工具 + (夜神)安卓模拟器实现代理抓包,最详细教程_length_的博客-CSDN博客_charles夜神模拟器抓包

  • 相关阅读:
    MyBatisPlus(二十二)代码生成器
    (4)STM32的SPI协议及LED点亮
    【数据结构初阶】九、排序的讲解和实现(直接插入 \ 希尔 \ 直接选择 \ 堆 \ 冒泡 -- C语言)
    SpringMVC ---- 拦截器
    使用UiPath和AA构建的解决方案 3. CRM 自动化
    个人商城系统开源(注册)
    【Go语言】Go语言中的切片
    2台三菱plc FX5u能否实现无线数据交互?
    详解RFC 793文档-2
    设计模式之组合模式
  • 原文地址:https://blog.csdn.net/qq_24298751/article/details/126859135