• Android 高版本无法抓取 HTTPS解决方案


    在接口测试中,相信很多人都遇到过 Android 高版本(Android7.0 以上)系统无法抓取HTTPS包的问题。

    由于在测试过程中对分析定位问题很不方便,所以咱们自己要想办法解决这个问题

    一、Android6.0 及以下系统可以抓包,而 Android7.0 及以上系统不能抓包;

           原因:Android7.0+ 的版本新增了证书验证,所以 App 内不再像原来一样默认信任用户的证书;

    二、解决方案

      1.让安卓开发解决,重新打包,对于安卓开发同学来说无非是多加几行代码的事,但是如果要想抓取别人产品的HTTPS包,那这种方式就行不通了。

      2.换一部Android6.0以下的手机/用系统6.0一下的模拟器安装app,可以解决这个问题

      3.Charles + VirtualXposed + JustTrustMe【主要讲解第三种方案】

    三、首先进入 Github 下载如下两个 Page

    • VirtualXposed:https://github.com/android-hacker/VirtualXposed
    • JustTrustMe:https://github.com/Fuzion24/JustTrustMe    

     

       1.使用如下 adb 命令分别安装两个 pages

        adb -s C7YVB20413007239 install D:chomeDowVirtualXposed_0.18.2.apk
        adb -s C7YVB20413007239 install D:chomeDowJustTrustMe.apk

       2.安装完成进入 VirtualXposed apk 应用,点击 6 个小点进入设置页面

      

         3.进入设置页面,点击模块管理,勾选 JustTrustMe(我这里没有找到它,可能是我这个版本不需要在手动选择了,安装之后自动识别到了)重启之后我们重新进去设置页面,添加我们需要抓包的应用即可,我这里选择的钉钉做案例。

        

         4.点击添加应用,选择需要抓包的软件安装:

        

         5.配置 Charles 抓包

         6.回到 VirtualXposed 上滑解锁,打开我们之前安装的企业微信,则发现 charles 已经成功抓取到钉钉的 HTTPS 的数据包

        

  • 相关阅读:
    部署 HTTPS 访问 ( https:// )
    Jquery百宝箱
    Python 模块和包
    Python 缓存
    Python 内存管理和回收
    Python上下文管理器
    MySQL 表约束
    MySQL 字符集和校验规则工作原理
    MySQL基础笔记整理
    Redis 数据结构 之 SDS
  • 原文地址:https://www.cnblogs.com/xiaochao-testing/p/13985602.html
Copyright © 2020-2023  润新知