charles 简介
- Charles 是在 Mac 下常用的网络封包截取工具,在做
移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 - Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
功能介绍
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
- 为了友好,快捷方便前端,后端定位问题,所以需要在测试的过程中抓包获取前后端请求,来分析缺陷产生的来源方。
下载地址
- https://www.charlesproxy.com/download/
如何抓取手机中的数据包
- 手机以及电脑处于共同的局域网(链接同一个wifi)
- 电脑端操作
- 电脑端打开软件 点击proxy 选择proxy Settings出现一个弹框 (图1)
- 设置一个端口号(手机连接的时候使用)
- Enable transparent HTTP proxying 勾选
- 点击ok
- 下载证书
- 点击help 选择SS proxying 选择install charles Root Certificate
- 安装证书,打开证书 使用此证书时:选择始终信任 (图2)
- 查看电脑ip地址
- 电脑端打开软件 点击proxy 选择proxy Settings出现一个弹框 (图1)
- 手机操作
- 在设置中找到WLAN
- 选择连接wifi(和电脑同一个Wi-Fi)
- 连接wifi页面点击代理 选择手动 (图3)
- 服务器主机名输入电脑的IP
- 服务器主机名输入在电脑端设置的端口号
- 在浏览器中输入 chls.pro/ssl 下载手机证书并安装
恭喜你小伙伴!以上操作就可以抓取手机数据包了
charles连接不上手机的处理方式
- 检查电脑和手机有没有连接的同一个wifi,必须tm连接的一个网
- 更换charles和移动端设备的端口,默认是8888,可以改成其他的试试
- 关闭电脑的防火墙。试试首先,如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。
- 在charles上添加手机的ip试试