「这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战」
问题
通常我们在开发中会遇到很多由于数据的问题, 在开发过程中我们还可以通过打印日志的方法来监控到数据的问题, 但是如果是线上的包的话, 虽然也可以通过xcode调试的方式, 但是有些特定的情况无法进行这种调试, 那么抓包的重要性就提现出来, 不用进行调试就可以查看到和服务端交互是数据, 并且很详细, header cookie content 等等有可以查看的到.
那如何达到咱们上述的目的, 下面咱们就来看看如何操作吧
流程
mac安装
-
当然是先下载charles软件包, 进行安装了
-
安装完成后, 打开软件, 给电脑安装charles证书
- 安装完证书后, 打开钥匙串查看是否安装成功, 然后将证书设置为信任
信任成功后, 就可以抓取电脑上浏览器中的https数据了, 如果要抓取手机上的https数据, 还需要几部的操作才行.
iPhone安装
-
首先保证 iPhone 和 mac 处于同一个网络中.
-
查看mac上的的局域网IP地址, 或者如下图的操作
-
手动设置代理, 打开iPhone的wifi设置, 找到当前连接wifi, 点击右侧的按钮, 下拉到最下面的
配置代理 -
安装Charles证书, 打开浏览器 将上图中的 chls.pro/ssl 输入到浏览器中, 然后按照提示安装 charles证书
-
证书信任设置. 设置 - 通用 - 关于本机 - 证书信任设置 iOS10.3之后 就需要手动信任下载的证书
- 设置charles的 SSL Proxying
选择 Charles 菜单中:Proxy -> SSL Proxying Settings...
然后就可以愉快的抓包了