iOS-Charles抓包

1,774 阅读2分钟

「这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战

image.png

问题

通常我们在开发中会遇到很多由于数据的问题, 在开发过程中我们还可以通过打印日志的方法来监控到数据的问题, 但是如果是线上的包的话, 虽然也可以通过xcode调试的方式, 但是有些特定的情况无法进行这种调试, 那么抓包的重要性就提现出来, 不用进行调试就可以查看到和服务端交互是数据, 并且很详细, header cookie content 等等有可以查看的到.

那如何达到咱们上述的目的, 下面咱们就来看看如何操作吧

流程

mac安装

  1. 当然是先下载charles软件包, 进行安装了

  2. 安装完成后, 打开软件, 给电脑安装charles证书

image.png

  1. 安装完证书后, 打开钥匙串查看是否安装成功, 然后将证书设置为信任

image.png

信任成功后, 就可以抓取电脑上浏览器中的https数据了, 如果要抓取手机上的https数据, 还需要几部的操作才行.

iPhone安装

  1. 首先保证 iPhone 和 mac 处于同一个网络中.

  2. 查看mac上的的局域网IP地址, 或者如下图的操作

image.png

image.png

  1. 手动设置代理, 打开iPhone的wifi设置, 找到当前连接wifi, 点击右侧的按钮, 下拉到最下面的配置代理

  2. 安装Charles证书, 打开浏览器 将上图中的 chls.pro/ssl 输入到浏览器中, 然后按照提示安装 charles证书

  3. 证书信任设置. 设置 - 通用 - 关于本机 - 证书信任设置 iOS10.3之后 就需要手动信任下载的证书

image.png

  1. 设置charles的 SSL Proxying

选择 Charles 菜单中:Proxy -> SSL Proxying Settings... image.png

然后就可以愉快的抓包了