手把手教你安装和使用抓包工具Charles
最近在开发测试时,经常会遇到测试小姐姐让我帮忙定位一下未知原因导致的错误这样的需求。由于无法看到接口请求情况,有时很难定位到问题。去研究了一下抓包工具Charlies的安装和使用,记录一下,希望对开发和测试都有帮助。(可支持PC端、微信、h5的抓包,安卓7+抓取APP的包会出现unknown的情况)
安装Charles步骤:
一、如果没有,请安装最新chrome浏览器
二、安装并设置chrome浏览器扩展程序SwitchySharp
- 扩展程序SwitchySharp压缩包见附件proxyswitchysharp11040.rar, 将解压后文件单独存放在一个文件中;
- 在Chrome浏览器扩展程序页(chrome浏览器右上角垂直三个点—更多工具—扩展程序),打开开发者模式,加载已解压的扩展程序,将刚解压的文件添加到chrome扩展程序中;
- 若扩展程序添加成功,浏览器右上角会出现一个灰色圆形球。安装成功后,会自动弹出SwitchySharp配置页
- 点击浏览器右上角圆形球,选择情景模式8888,选择之后圆形球会被点亮(在不需要抓包时,将情景模式切换回直接连接,否则会出现浏览器无法上网的情况,这个很重要!!!)
-
三、下载Charles
压缩包见附件Charles.rar
四、安装好Charles以后,并配置Charles证书 - 打开Charles,选择help——SSL Proxying——install Charles Root Certificate
- 安装证书
- 证书导入
- 点击确定=》下一步=》完成
- 点击确定=》确定
- 最后提示导入成功,出现如上述证书信息显示说明证书安装成功
五、HTTP的配置
- 勾选Proxy——Windows Proxy,选中之后Windows Proxy会变成蓝色,且前面有一个√
- 选择Proxy——SSL Proxy Setting,添加Location
- 菜单项Proxy —> SSL Proxy Settings,选中 Enable SSL Proxying —> add —> Host设置 , Port设置 443 —> 点击 确定
六、开始抓包——PC端抓包成功!
七、移动端抓包配置(电脑和手机需保持在同一局域网下!!!)
- 设置手机代理:打开手机设置—>无线与网络—>WLAN—>长按 电脑和手机所在的网络—>修改网络—>显示高级选项—>代理—>手动—>服务器主机ip填写上图中的ip(192.168.0.105),端口(8888)—>保存
- 在Charles点击allow
- 做好前面之后,在手机浏览器中输入chls.pro/ssl 下载证书至手机
- 手机安装证书步骤:打开手机设置—>安全和隐私—>更多安全设置—>从SD卡安装—>选择刚下载的证书—>为证书命名(随便填写一个名称)—>确定—>安装成功
八、开始手机抓包
抓包成功!接下来就可以比较轻松地定位到错误原因啦!
九、Android7.0+ 抓取APP的包出现无法抓包unknown问题
由于安卓7之后调整了安全策略会导致部分手机抓取APP包失败,错误长这样的。查了一下,需要添加APP配置文件,详细步骤参考https://blog.****.net/u011045726/article/details/76064048?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
十、注意事项!!!
1、PC端使用完抓包后,将情景模式切换回直接连接,否则会出现浏览器无法上网的情况;
2、在不使用手机抓包时,将手机代理关闭,否则会出现手机无法上网的情况;
3、本文暂仅支持PC、微信、H5的抓包,安卓APP的抓包需要在APP中添加配置文件;
文中资源proxyswitchysharp.rar、Charles.rar百度网盘自提:
链接:https://pan.baidu.com/s/1Im20Y70TWKEk8GcUg9VJQQ
提取码:dx7z