您的位置:

Charles抓不到包的解决方法

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抓不到包的原因可能有很多,但大多可以通过上述方法进行解决。同时,需要重复排查问题所在,并修复问题,以保证正常操作和开发。