使用Charles在Mac上抓包解析微信小程序接口数据

发表于:2024-2-28 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:按计划行事    来源:CSDN

  背景
  最近,我接手了一个开发微信小程序后台的项目。我首先通过几个需求和错误修复来了解业务。起初,尽管有 API 文档可查,我还是很难弄清每个交互对应的接口。为了知道一顿操作包含哪些接口调用,我使用 Charles 对小程序的请求数据进行拦截分析。本文将介绍 Charles 在 Mac 上抓包解析微信小程序接口数据的实践过程。
  简单介绍 Charles
  Charles 是一个 HTTP 代理/HTTP 监视器/反向代理,使开发人员能够查看其计算机与 Internet 之间的所有 HTTP 和 SSL/HTTPS 流量。这包括请求、响应和 HTTP 标头(其中包含 cookie 和缓存信息)。Charles 有以下常用场景:
  抓包与调试:Charles最常用的场景之一是抓包和调试应用程序的网络流量。它可以捕获应用程序发送和接收的HTTP和HTTPS请求,并提供详细的请求和响应数据,方便开发人员分析和调试网络问题。
  接口测试与模拟:使用 Charles,你可以截获应用程序与后端服务之间的接口请求,并且可以修改请求或响应数据,以便测试不同的场景和错误处理。这对于测试API、模拟特定的接口响应或网络状况非常有用。
  性能优化:通过观察应用程序的网络请求,你可以检测到潜在的性能问题,如慢速请求、重复请求、大量的请求等。通过分析数据,你可以识别并优化性能瓶颈,提高应用程序的响应速度和效率。
  安全测试Charles可以用于安全测试,特别是在移动应用程序的安全测试中。它可以拦截和查看应用程序与服务器之间的敏感数据流,如用户凭证、加密算法等,以帮助发现潜在的安全漏洞
  缓存和压缩:Charles允许你观察和分析应用程序与服务器之间的缓存和压缩机制。你可以检查缓存命中率、缓存过期时间、压缩算法等,从而优化网络传输和减少带宽消耗。
  安装 Charles
  下载安装
  这里以 4.6.5 版本为例,发布于2023年10月18日。
  下载地址,选择Mac版。
  双击下载好的dmg文件,拖动Charles到应用程序中。
  破解 Charles 小花瓶
  打开 Charles,加载页面如下,显示 30天试用,到期需购买许可证。且试用期内每30分钟会自动退出 App,要重新登录才能使用。
  这方式多烦,于是找到优秀网友分享的破解方法,具体步骤如下:
  Step 1: 生成 License Key
  打开Charles 激活码计算器,随便输入点啥,点击”生成“。
  Step 2: 使用 License Key
  将前面获取的Registered Name、License Key,拿去注册即可,然后会自动关闭。
  好了,到这里,Charles 就可以无障碍正常使用了。
  抓包微信小程序接口请求数据
  环境配置
  Step 1: Charles安装后默认不显示response、request、header、body模块详情,需要开启显示。
  打开Charles -> Perferences -> Viewers配置页,取消勾选如下配置。
  Step 2: 微信小程序接口都是https请求,所以配置Https代理。
  Proxy -> Proxy Settings
  Step 3: 安装根证书,Help -> SSL Proxying -> Install Charles Root Certificate
  打开钥匙串访问 Keychain Access,双击Charles CA,SSL信任设置,保存后证书显示”此证书已标记为受此账户信任“。
  Step 4: 配置SSL代理,SSL Proxying,这样才能拦截到微信小程序接口请求数据。
  注意:如果安装不了证书,尝试在 Keychain Access 中删除 Charles CA,然后重新安装。
  或者打开系统钥匙串锁定。
  抓包
  在你电脑中所有的https请求都会被拦截下来,然后你就可以看到微信小程序接口请求数据了,我这里只简单展示一个示例。
  总结
  本文详细介绍如何在Mac电脑上使用Charles工具进行微信小程序后台项目的抓包和分析。演示如何破解Charles并获取永久许可证,接着介绍抓包前的环境配置步骤,包括基本设置、安装根证书和配置SSL代理,以确保Charles能够正确地抓取微信小程序接口请求的数据。最后展示实际抓包过程,即在计算机中拦截所有HTTPS请求,以便查看微信小程序接口请求的数据。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号