Bootstrap

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 (配置 参考)

转载于:https://www.cnblogs.com/someonelikeyou/p/7821533.html

;