Charles是一款常用的抓包工具,但是有时会出现抓不到包的问题,这给开发工程师带来了很多困扰。本文将从多个方面详细阐述charles抓不到包的解决方法。
一、Charles抓不到包怎么办
1、检查代理设置
Charles工具->Proxy->Proxy Settings 检查代理设置端口是否正确,charles默认为8888端口
2、检查Charles是否在工作状态
查看Charles工具界面的左上角,是否有Recording按钮,如没有,则代表Charles未处于工作状态,需点击按钮进行启动录制
3、检查是否有网络连接问题
使用ping命令检查网络是否正常
4、检查是否开启了防火墙
若开启了防火墙,需要打开8888端口
5、检查抓取目标是否使用https协议
如果抓取的目标是https协议,则需要在Charles中安装证书 Charles工具->Help->SSL Proxying->Install Charles Root Certificate
二、Charles抓不到浏览器的包
1、清除浏览器缓存
清除浏览器缓存,关闭浏览器,重新启动Charles和浏览器
2、检查是否启用了代理插件
一些浏览器启用了代理插件,需要进行关闭
3、检查浏览器设置
Charles工具->Proxy->Browser Settings 检查是否设置了浏览器代理设置,以及端口是否正确
三、Charles抓不到手机包
1、检查是否开启了代理设置
打开手机Wi-Fi设置->配置网络,开启代理设置,并设置为手动模式,在代理主机名中输入运行Charles的电脑IP,端口号设置为8888
2、检查Charles工具是否设置了监听端口
Charles工具->Proxy->Proxy Settings->Advanced 监听端口设置为本地IP地址
3、检查是否安装了证书
在手机上浏览任意网站,如果弹出证书提示框,则需要进行安装 Charles工具->Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device
四、Charles抓不到包的其他情况
1、检查网络是否有代理
如果网络中存在代理,则需要将Charles配置为该代理的子代理
2、检查抓包目标是否使用了自签名证书
使用这种证书的站点无法正常使用Charles抓包,可以通过安装该证书来解决问题
3、检查Charles版本是否过旧
过旧的Charles版本可能无法正常捕获一些协议,需要使用最新版本的Charles
4、检查是否启用了安全协议
一些抓包目标开启了安全协议,需要在Charles中开启SSL Proxying并导入证书才能正常抓包
总之,Charles抓不到包的原因可能有很多,但大多可以通过上述方法进行解决。同时,需要重复排查问题所在,并修复问题,以保证正常操作和开发。