• 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的数据了。
    在这里插入图片描述

  • 相关阅读:
    数据库连接池连接超时报错
    动静态链接&&动静态库制作与使用
    DDD/ABP/EF Core :新特性Owned Entity Types ,尝试另外一种值对象的配置方式
    【无标题】
    frps内网穿透
    MIT6.830-2022-lab1实验思路详细讲解
    ThreeJS 第二篇:顶点概念、几何体结构
    Hadoop——Yarn基础架构
    零基础学Python有什么建议?如何入门编程?
    购买阿里云服务器需要多少钱?活动价2000元-3000元的阿里云服务器汇总
  • 原文地址:https://blog.csdn.net/weixin_42600398/article/details/125479600