手机连接上charles代理后,没有网络,有以下几种情况(仅供参考):
更新日期:
2022.10月31日
如果你也有遇到过问题,本文解决不了的,你自行解决了,也可以把问题和解决方法告诉博主,博主把你的问题和方法加上去,帮助到更多人
参考文章
写在前面的话
如果以下方法还是不行,建议降低版本,博主用的是4.2.7的版本,Android可行,苹果没试过,毕竟没苹果手机
fiddle的界面ui是真心不好看,但总体来说对于普通的测试已经够用了,charles也差不了多少。
之前用惯了fiddle,而有些公司用的是charles。所以我打算用charles一阵子。
废话不多说,我就默认你已经设置好代理了。
注意事项
注意:手机和电脑要在同一局域网下,不是说连接上同一WIFI就好了,不是的!
手机和电脑要能互相ping通才可以!
电脑打开cmd,输入:ping 你自己的ip,比如:
ping 192.168.1.44
如果ping不通,检查下手机和电脑是不是在同一个网段里面,ping不通,下面的流程就没必要走了
流程
我就默认你可以ping通了
1. 电脑防火墙
对,你没看错,就是防火墙,为什么fiddle就不会被防火墙拦截,而charles就会被防火墙拦截呢?
初次打开应用的时候,会弹出
如果你没有选择公用网络,那么恭喜你,你手机连接你电脑开的热点的时候,设置了代理,也抓不到手机的包,手机也没有网络。因为你电脑开热点,这属于公用网络
解决办法有两个
-
关闭防火墙
-
打开公用网络开关(全部勾上)
2.电脑管家、360等安全软件
也有可能是电脑管家、360等安全软件把认为不安全,屏蔽掉了,这个时候把安全软件给退出即可
3.charles白名单(white list)
没有设置白名单,就不可能是这个
关闭White List;Tools–>White List 关闭就好了
4.访问控制设置(Access control settings)
把你手机的地址手动写入到:Proxy -> Access Control Settings中
也可以:
在 Proxy -> Access Control Settings中添加:0.0.0.0/0(一劳永逸,所有的ip都识别通过(ipv4))::/0(ipv6)
5.黑名单(blacklist)
把黑名单功能关闭
最后的话
如果上述所说还没有解决,可以试下这个
- 检查下WIFI代理有没有配置错误
- 重新安装下证书,最好是通过usb方式传给手机,然后把后缀改为cer
- 如果安装好证书,WIFI设置好了代理了,此时注意charles有没有弹出allow或deny的界面,没有弹出就去Proxy-Access Control Settings,把手机ip添加进去,然后手机断开wifi,重连,重新设置一遍代理,最好把Charles重启一遍
- 检查你Charles的8888端口有没有被占用,建议换个端口
一般大多数都是Charles没刷新,要重启下