MacOS Charles 抓取Iphone的 https 请求 解决 unknown

1、环境说明

  1. MacOS Sierra 10.12.4
  2. Charles 4.0.1
  3. ios 11.2.2(15C202)
  4. 手机与电脑在同一 WIFI 网络内

Charles 下载地址ios

2、抓包步骤

  1. Charles 设置代理端口
  2. 手机设置访问代理
  3. Mac 安装 Charles 协议证书
  4. 手机 安装 Charles 协议证书

3、开始抓包

1. Charles 设置代理端口

  • 选择菜单 Proxy -> Proxy setting...

Charles 抓取iPhone的 https

  • 设置端口,若是无需设置,默认为8888

2. 手机设置访问代理

设置前确认网络

  • iPhone 与 Mac 在同一 WIFI 环境下
  • 网络是互通的,没有防火墙阻拦(默认状况下都是通的,除非局域网防火墙、路由、电脑有设置)

2.1 获取电脑 IP

2种方法:代理

  • 电脑终端输入 ifconfig
  • 点击 Charles菜单, help->Local IP Address

2.2 设置iPhone wifi 代理

设置->无线局域网->您的 WIFIcode

输入图片说明

设置好后,iPhone 会连接上 Charles,提示您,有一个连接须要连接到您的代理.....点击 allow 便可接口

输入图片说明

3. Mac 安装 Charles 协议证书

经过 一、2 步骤,你发现Charles 已经能够抓取数据了,可是数据包都是 unknow,或者乱码,这是由于访问的是https的接口,须要证书信任,因此咱们须要安装证书图片

须要安装以下2个证书:ssl

输入图片说明

  1. Charles 菜单 Help->SSL Proxying->Install Charles Root Certificate , 安装 Charles 的证书。按照步骤添加到信任列表中便可。
  2. 添加代理 443 端口监听
    • Charles 菜单 Proxy->SSL Proxying Setting
    • 添加 443 端口的监听,host 为 “*”(任意地址)

输入图片说明

输入图片说明

4. 手机 安装 Charles 协议证书

  1. Charles 菜单 Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote browser , 安装时会弹出提示,让您用手机访问地址来安装证书。

输入图片说明

  1. 手机Safari访问 chls.pro/ssl安装证书

通常状况下为 chls.pro/ssl,用 Safari 打开这个地址。根据提示安装证书便可。路由

输入图片说明

默认到了为“未验证”,安装后为“已验证”get

4、抓包

经过 1,2,3 步 IOS 10 及如下都可以正常抓取手机数据包。可是 IOS 11 不行。博客

  • IOS 11设置
    • 设置->通用->关于本机->证书信任设置
    • 把您刚才安装的证书后面的开关打开(默认是关闭的)
    • IOS 11 正常抓包

广告栏: 欢迎关注个人 我的博客

相关文章
相关标签/搜索