charles抓包工具
一、charles下载安装
下载地址:https://www.charlesproxy.com/download/

默认安装
windows:
激活码:https://www.zzzmode.com/mytools/charles/,生成的激活码输入charles:Help->Enter charles license

二、抓包http请求
- 打开charles---点击proxy(代理)
- 点击Windows proxy(显示为勾选)
- 即可抓包http的包
这时抓包https包会出现unknown和乱码。
三、抓包https
Proxy->SSL Proxying Settings...



这时可以抓取浏览器的网站的https请求。

四、手机端抓包
前提:手机和电脑需要在同一个局域网内
- charles:Proxy settings
- 进入WiFi详情页---代理:手动
- 服务器主机名:电脑的ip
- 端口号:8888
- 完成后,Charles页面中会弹出一个框,点击allow
- 即可抓到移动端http的包

打开手机上的浏览器,在浏览器中输入链接:http://open.vipexam.org,查看charles捕获到了 HTTP 数据包。



抓取https包:
安卓浏览器,访问http://chls.pro/ssl(访问失败可以试一下charlesproxy.com/getssl),下载下来一个.pem文件,点击安装
安装成功可在“用户凭据”中看到。
下载不下来pem文件,可以在电脑端下载下来,再传输到手机端进行安装。

手机端通过安全-更多安全设置-加密和凭证-从存储设备安装-点击下载的包,填入证书的名称,点击确定证书就安装好了(可以在用户凭证确认是否安装完成)
这时就能抓取到https包了。
五、模拟弱网


六、mock测试
mock local:修改请求的返回值
选择目标请求,右键选择 Save Response...保存请求的 response 内容到本地文件;
更改本地文件中返回值;
选择目标请求,右键选择Map local..



打开客户端应用重新请求该接口,返回的数据就是本地的文件数据。
七、请求转发
mock remote:把匹配的请求映射到另一个URL
场景:例如在获取微信链接参数的时候, 可以在访问该链接的时候,变成访问本地的某个接口, 这样就可以将想要的数据保存到本地来使用
Tools > Map Remote 配置对应的远程服务于本地服务

使用场景:
1. 将线上资源映射到本地开发服务器 www.com -> localhost,以此实现本地调试线上。
2.将线上服务调用的参数不用复制,粘贴到postman等工具上,在本地环境进行调试, 使用代理即可解决
八、rewrite修改请求
Rewrite重写功能是全局设置的,并不是对某个请求单击右键的方式临时操作下, Rewrite可以:
- 修改请求头(Add/Modify/Remove Header)
- 修改Host/Path/URL
- 修改请求参数(Add/Modify/Remove Query-Parameter)
- 修改响应状态(Response Status)
- 修改Body
Tools->Rewrite:


使用场景:
- 重写 response header 实现 cors 跨域
- 重写 cookie 实现一些校验
- 重写 body 实现类似 Map Local 的效果
九、Compose功能修改Request
修改方式:对请求单击右键,然后点击 compose 按钮

浙公网安备 33010602011771号