先交代一下问题背景:Mac上安装的Charles3.10.1版本,能抓浏览器的包,但死活抓不了手机app的包(android和ios都一样),但奇怪的是android依旧可以上网,ios上不了。
排查步骤如下:
1,原来我怀疑默认的8888端口被占用了,lsof -i tcp:8888 查看了下,并没有。端口改为7777依旧抓不了app的包;
2,修改手机ip地址为静态,跟mac保持同一网段,依旧不行。其实这个没必要,因为mac和手机已经是联的同一wifi。
3,检查Charles Access Control Setting,IP Range设的是0.0.0.0/0 这个不会有啥问题。
然后我就开始怀疑人生了。
事情的真相是:MAC上下了一个更新包,让重启,但是我没有重启,一直停留在这个状态。所以导致了抓不了app的包。此时虽然MAC显示关闭了防火墙,但不知道是不是给打开了,不知道苹果搞了什么鬼。
补充三点:
1,如果chrome浏览器装了SwitchyOmega一类的东西,请禁用,或选择“系统代理”,如此Charles才能正常抓浏览器的数据。
2,Charles里在Proxy Setting---Mac OS X选项里,如果不选择如下:
则不抓浏览器的数据,但是pc上其他的网络请求如云盘之类的还是会抓到的。
3,如果想禁止Charles,点那个小红点start recording / stop recording 就ok了!
其他参考这里,介绍的比较详细不重复了!
时间: 2024-10-05 23:48:32