昨天一个网络问题排查不清楚,想到了Charles(青花瓷)抓包工具。在刚工作的时候就使用过一次,当时好像还没有收费。逛草稿的时候有一片是17年的关于抓包的,只写了开头。今天从下载到查看完全数据整理一下,我把我本地也删了,伴随着这篇文章重新配置一下。
我没有在官网下载,因为要激活。贴一下我的下载地址(找了老久,好多资源)http://www.pc6.com/mac/137987.html
下载完成,打开文件夹,如果出现此界面则证明可以。
将charles拖入第一个中后安装完成
下载地址(官网):https://www.charlesproxy.com/download/。
如果要激活码的话,我给大家找了一个,如果用不了我也不知道了。我没有用这种方式试过,官网下载太慢了。
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
进入第二部分,现在我们可以打开charles了。如果打不开要信任的话,去登陆坞(小火箭)-> 设置 -> 安全与隐私中点击通用选项卡,输入密码允许操作系统打开
打开的样子
因为要测试手机移动端设备,所以我们先将charles和设备关联起来。保证电脑和手机设备再同一个局域网下,连着同一个wifi。
先查找电脑的ip地址,点击charles的help选项卡查看
看到ip后,打开手机设置 -> wifi -> 点击所连接wifi最右边的蓝色带圈感叹号进入wifi设置页面
进入后将自动改为手动会看到新出现的服务器、端口、和认证三个新的选项出现。将刚在charles help选项中看到ip输入到服务器选项中,端口填写8888(charles中默认),完成后点击右上角存储
点击charles的proxy选项卡开始设置proxy
我们现将允许代理的ip和host设置为全部,点击add,添加host中添加*,最后点击右下角ok就好。也可以自己定义
到这里你再手机上点击发送的请求就能拿到了。但是,你想查看https相关请求拦截和返回的数据你是看不到的,只能看到请求发出。要想看到发出的请求体和服务器返回的resp,我们接着配置。
我们开始配置,选择charles的help选项卡,安装一下证书
点击后输入系统密码,到钥匙串中
点击带有叉号的charles相关的证书,点击打开信任
修改为始终信任
输入密码后,钥匙串会更新
顺手也把模拟器相关的配置了
再点击help,配置生成另外一个移动端证书
点击后我们会看到让我们去下载信任一个证书
我们打开要测试手机设备safari,输入chls.pro/ssl,会看到要下载一个描述文件我们下载即可
然后进入设置,比较新的操作系统在设置打开就能看到有一个已下载的描述文件,点击进去输入密码安装就好
如果没有,进入通用 -> 描述文件。点击进入输入密码安装即可
重启下charles,你会看到之前带锁的https请求已经发生改变
此外,charles还可以模拟弱网测试,对网速进行限制。早之前在趣医院app中几个难以复现的疑难bug,特别影响体验,就是通过此弱网测试复现并解决。印象特别深刻