• Mac下用Charles实现Android http和https抓包


    一、背景

    有时在开发过程中需要看网络请求的内容,这就涉及到了抓包的需求。

    charles下载地址:https://www.charlesproxy.com/download/

    二、Http抓包

    1.配置代理端口号

    Proxy -》 Proxy Settings -》 Port,port可以随便指定,我这里取的8888;
    在这里插入图片描述
    在这里插入图片描述

    2.配置代理的ip;

    Android手机的网络代理一般在设置页面,点击当前连着的wifi,手动修改代理配置,然后将你的电脑ip和第一步中配置的端口号填写到手机上即可。如下图:
    在这里插入图片描述
    有了上面两步,理论上已经能够实现http的抓包。

    三、Https抓包

    1.为charles添加SSL Proxiyng

    具体的步骤是:Proxy -》 SSL Proxiyng Settings -》勾选“Enable SSL Proxying”,并点击下方的Add,你可以这样配置:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    host是你要抓的域名或者ip(这里用通配符*,表示抓去所有的https请求),port为443。

    2.下载手机的SSL证书

    这一步很关键,你需要点击help -》SSL Proxying-》Save Charles Root Certificate,然后选择目录,保存一个类似于这样的“charles-ssl-proxying-certificate.pem”文件(笔者的环境是mac下,windows有可能文件后缀不一样)
    在这里插入图片描述

    3.给手机安装证书

    这一步很坑,因为不同的手机可能会有不同的表现。

    首先命令行切换到(2)的文件夹下,可用adb将(2)中的文件推入手机中,具体的命令参考:“adb push charles-ssl-proxying-certificate.pem sdcard/charles.pem”,表示将charles-ssl-proxying-certificate.pem推入sdcard中,并重命名为charles.pem,注意后缀一般必须是pem。
    打开手机的文件管理器,找到charles.pem,点击安装。如果安装成功,那么恭喜你,理论上,现在手机的https访问数据,已经能被charles获取。不过,如果你的手机出现了类似下图的说明,请继续执行下一步。
    在这里插入图片描述
    打开手机设置 -》更多设置 -》系统安全 -》从存储设备安装 -》选择charles.pem,点击安装。如果安装成功,那么恭喜你,理论上已经能抓包https的数据了。
    在这里插入图片描述

  • 相关阅读:
    OkHttpClient请求方式详解,及常用OkHttpUtils配置工具类
    ftrace和tracepoint简单使用
    干货分享 | MindSpore21天实战营手记(四):基于YOLOV3-DarkNet50的篮球检测模型
    什么是软件测试?零基础入门知识要点总结篇,5分钟带你快速了解
    bug-xss 攻击漏洞问题
    计算机网络复习总结4
    【西瓜书】9.聚类
    2000年-2020年31省市城乡收入差距泰尔指数
    PyQt5安装详细教程
    pwn 堆基础
  • 原文地址:https://blog.csdn.net/weixin_42600398/article/details/125479600