前言

  • 无论正向开发,还是逆向开发,抓包都是必备工具。本文讲抓包工具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



charles android TCP抓包 charles设置安卓抓包_charles抓包安卓手机抓包https


  • 跳过断点,执行完之后,可以看到确实被修改成功了。
  • 对于请求参数的修改右键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 ,并选择本地文件
  • 刷新浏览器可以看到数据改过了,看包体也是改过的数据,如下