zoukankan      html  css  js  c++  java
  • Mac 环境 下使用Charles 抓包Http/Https请求

    实现目标 

    在Mac 上 对 iOS  真机 和 模拟器 进行 Http/Https抓包

    使用工具

    Mac 上 Charles 4.2 
    安装 参考链接 1. 和 链接 2.

    抓包 http 请求

    (1) 保证真机 和 Mac  使用 同一个 局域网(wifi),查看Mac IP地址,例如 192.168.x.xx
    (2) 选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enabling transparent HTTP proxying
         真机 点击设置 —> 无线局域网—>指定wifi—>设置代理 
         服务器 填写 (1)获取的IP
         端口号 填写 8888 (Charles 默认 http proxy port 为 8888,可以在 charles —> Proxy—>Proxy Settings  修改 http proxy port
     )
    (3)真机配置完成,打开Charles  开始抓包前 会弹出 是否允许抓包弹框  点击允许 至此真机抓包正常 可按需求 配置查看 request response 相关数据信息
    (4)模拟器抓包 需要把电脑设置为代理:
     
    抓包 http 请求 charles —> Proxy—> macOS Proxy 勾选 即可,这样 ,你通过浏览器请求的网址都会出现在这里,iOS模拟器的所有的网络请求也会出现在这里。

    抓包 https 请求

    charles 也要遵守 https 协议,因此需要下载官网 CA证书
    证书下载地址:参考图,位置可能在Help里 多找找菜单栏,主要是在SSL Proxying 里,里面有好多证书,很方便我们以下的各种操作
     
     
    (1) Mac 到 参考 3. 下载根证书即CA证书 或者 SSL Proxying 中 Install Charles Root Certificate 即可 非常方便,用钥匙串打开,此时是不被信任的,点击右键,显示简介—>信任选项 第一项—>改为“始终信任”
    如图:
      -->

    (2)手机安装证书

     SSL Proxying 中点击Install Charles Root Certificate On a Mobile or...这项 会弹框,弹框会提示下载地址,

    然后复制链接 在手机 Sarfri 浏览器中打开 会提示下载相关操作,按提示处理即可。(网上会有其他下载方式,但是我操作不好使,仍然不能抓包 只有按照Charles提示的下载地址才行)

    特殊在 如果是iOS11以上 手机 要打开信任开关,设置-->通用-->关于本机-->证书信任设置--> 指定证书开关开启

    其他的都是通过网上其他攻略下的 都不好使。。。所以就跟着Charles提示即可

    (3) SSL Proxying Settings  勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据 

    * 代表任意站点,也可以指定站点

    (4)同 http 抓包步骤 (1)(2)

       至此,当手机重新 发出https请求时候,抓包结果就能不再是 unknown了 能够正常解析了。

       模拟器?此时只要 Install Charles Root Certificate in iOS Similaors 即可正常抓包

     
    参考:
     
    1.https://www.charlesproxy.com/download/ (官网 下载小花瓶)
    2. http://charles.iiilab.com (小花瓶 安装攻略)
    3.https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/(根证书地址)
    4.https://segmentfault.com/a/1190000005070614 (配置 参考)
  • 相关阅读:
    解决Requires: libc.so.6(GLIBC_2.14)(64bit)错误解决方法
    Linux下安装rpm出现error: Failed dependencies
    使用WordPress搭建个人博客
    Log4j不写入日志文件排错记录
    JAVA EE,JAVA SE,JAVA ME,JDK,JRE,JVM之间的区别
    [转]【maven】解决Missing artifact jdk.tools:jdk.tools:jar:1.6
    Eclipse新建项目介绍
    Android开发-API指南-<permission-group>
    Android开发-API指南-<permission>
    Android开发-API指南-<path-permission>
  • 原文地址:https://www.cnblogs.com/someonelikeyou/p/7821533.html
Copyright © 2011-2022 走看看