前言
- 无论正向开发,还是逆向开发,抓包都是必备工具。本文讲抓包工具Charles的使用。
安装
- 官网,可以下载免费试用版本,或者付费购买。
- 下载完成之后,具体安装过程就不赘述了。
界面
- 界面如下,左侧是网络请求,右侧是具体信息,其中提供了断点,弱网等功能
抓取天气预报接口
- 我们打开网站 https://weather.com/zh-CN/weather/today/l/f6de1330f517758fbcfe51946263fb8485477d27f5ab1e3f2d9f88b0e823f544 来查看北京的天气
- 查看Charles抓的包
像我们如果开发小程序或者独立App的时候,一些天气Api是需要付费的,我们就可以通过抓包找到相关返回数据,来解析完使用这些数据。
https乱码问题
- 有时候我们看到抓的有些包是乱码的,或者提示unkonwn ,那是因为https协议需要安全认证
- 安全认证:点击Help->SSL Proxying->Install Charles Root Certificate
- 然后去钥匙串中点击信任
- 此时依然无法解析https的请求。需要设置SSL Proxying Settings,可以单独配置某一个url,当然为了方便最好配置成通用的,如下所示
此时就可以正常解析https请求了
断点修改B站数据
- 点击 Proxy->Enable Breakpoints,或者直接选择断点图标,开启断点功能
- 右键选择BreakPoints
- 重新刷新B站,讲一个标题 Sour Candy'中的采样竟然不是郭老师而是Gaga本人!!!改为 逆向小专栏https://xiaozhuanlan.com/cydia
- 跳过断点,执行完之后,可以看到确实被修改成功了。
- 对于请求参数的修改右键Repeat再次请求一次右键Compose 可以修改参数,然后点击Execute执行,就执行我们修改过的请求
弱网测试
- 点击proxy ->Throttle Settings进行弱网设置
- 我们可以模拟弱网进行测试
抓手机包
- 点击:Help->SSL Proxyig ->Install Charless Root Certificate on a Mobile Device or Romete Browser 如下图所示
- 打开手机的WiFi设置,配置代理为手动,改为Charles提示的ip和端口 192.168.1.6:8888
- 打开手机浏览器输入chls.pro/ssl
- 此时Mac上会有弹窗是否允许,我们选择允许
- 手机上提示是否下载配置描述文件,我们选择允许
- 去手机的通用->关于本机->证书信任设置,信任改证书
- 操作手机,就发现Charles已经抓取了手机上的网络请求
映射本地资源
- 打开博客网站:https://ityongzhen.github.io/ ,如下所示
- Charles抓包,找到 url ,并点击Save response ,保存到本地
- 然后把保存的本地文件中首页,关于等加上eagle
- 点击Tools ->map local,在Host中填写需要映射的URL ,并选择本地文件
- 刷新浏览器可以看到数据改过了,看包体也是改过的数据,如下