背景
最近,我接手了一个开发微信小程序后台的项目。我首先通过几个需求和错误修复来了解业务。起初,尽管有 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 license key计算器,随便输入点啥,点击”生成“。
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
,这样才能拦截到微信小程序接口请求数据。
抓包
在你电脑中所有的https请求都会被拦截下来,然后你就可以看到微信小程序接口请求数据了,我这里只简单展示一个示例。
总结
本文详细介绍如何在mac电脑上使用charles工具进行微信小程序后台项目的抓包和分析。演示如何购买charles并获取永久许可证,接着介绍抓包前的环境配置步骤,包括基本设置、安装根证书和配置ssl代理,以确保charles能够正确地抓取微信小程序接口请求的数据。最后展示实际抓包过程,即在计算机中拦截所有https请求,以便查看微信小程序接口请求的数据。
非常感谢您的支持和关注!如果您喜欢我的博客内容,想要获取更多有价值的文章、技术分享和实用的生活建议,欢迎扫描下方二维码关注我的微信公众号。让我们一起共同成长,探索更多的知识和经验,期待与您在公众号中互动交流!
发表评论