美文网首页iOS知识积累
使用 Charles 抓包 iOS 上的 HTTPS 请求

使用 Charles 抓包 iOS 上的 HTTPS 请求

作者: brave723 | 来源:发表于2017-01-11 14:54 被阅读286次

    概述

    配置手机代理确保可以正常抓包 HTTP 请求
    在手机上安装 Charles 的根证书
    配置 Charles 启用 HTTPS 抓包
    重要:为什么不把 Host 直接配置为 *
    

    1. 配置手机代理确保可以正常抓包 HTTP 请求

     此时 HTTPS 的请求会显示为 unknown 无法查看
    

    2. 在手机上安装 Charles 的根证书

    • 获得证书下载地址

      Charles: Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

      该地址在不同版本的 Charles 下可能不同,以实际获取到的为准

    • 在手机上下载并安装证书

      在手机浏览器中输入刚刚获得的 Charles 根证书下载地址

      在弹出的界面中点击右上角的“安装”,如需要密码验证,输入该手机的解锁密码后继续安装

    直到界面出现 ”已验证√“ 点击“完成”即成功安装证书
    
    • 信任安装的证书(iOS 10+)

      iOS 10 以上的系统还需要 设置 -> 通用 -> 关于本机 -> 证书信任设置 ,信任刚才安装的证书

    3. 配置 Charles 启用 HTTPS 抓包

    • Charles: Proxy -> SSL Proxy Settings
    • Enable SSL Proxying -> Add
    • 在 Host 和 Port 中填入想要抓包的域名和端口

    4. 重要:为什么不把 Host 直接配置为 *

    对所有 HTTPS 请求进行配置,确实可以正常抓包挖财的请求。
    但是,并非所有的 HTTPS 请求都可以用上述方法进行抓包。
    例如 Apple 的大部分请求都会启用 SSL Pinning 以防止用户信任错误的证书。
    将 Host 配置为 * 会导致 App Store 无法访问、企业证书无法信任等问题!
    

    相关文章

      网友评论

        本文标题:使用 Charles 抓包 iOS 上的 HTTPS 请求

        本文链接:https://www.haomeiwen.com/subject/vehcvttx.html