首页 游戏资讯 正文

charles设置代理失败怎么办?常见问题解决看这里!

哥几个,今天咱们唠唠这Charles代理工具,别看它用起来方便,但有时候真能把人搞得七荤八素。我前阵子就碰上这么一档子事儿,搞得我差点把电脑砸了,总算摸索出点门道,今天就分享出来,希望能帮到有同样烦恼的兄弟们。

本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu

那会儿,我接了个活儿,是要抓一个安卓App的数据包,没别的,Charles是首选。我平时用Charles都是顺手拈来,可那天邪门了,怎么都抓不到包,App那边压根儿没走代理。我当时就懵了,想着是不是我操作生疏了,开始从头到尾检查了一遍我的操作。

检查系统代理设置,是不是我大意了

我先是打开Charles,把它的代理端口设成了常用的8888。我就去了电脑的网络设置里,把系统代理指向了Charles的地址和端口。这都是老一套了,按说不会出岔子。可当我启动App,一瞅Charles的界面,啥也没有,空空如也。我心里一咯噔,感觉不对劲了。我是不是忘了

  • 折腾了半天,想着是不是Charles本身的问题,就把它卸了重新装。
  • 装完再试,还是那样,一点反应都没有。
  • 急了,把电脑重启了,心想是不是系统抽风了。
  • 重启完,情况依旧,我开始冒汗了。

手机和电脑证书,一个都不能少

我猛地想起,Charles要抓HTTPS的包,那证书肯定是绕不过去的坎儿。我以前每次用,都在手机上装了证书。但这回因为一直没抓到HTTP的包,我也没往证书那块想。可当我再去装证书的时候,才发现根本连不上Charles的证书安装地址。这就怪了,说明手机根本没通过Charles走代理。

防火墙这道坎儿,差点把我拦死

坐下来冷静了一会儿,回想以前碰到的类似问题。会不会是防火墙搞的鬼?我打开了电脑的防火墙设置,心想,是不是它把Charles给“墙”了?

  • 查了查Charles的默认端口8888,发现防火墙里确实没有开这个端口的权限。
  • 赶紧把8888端口加到例外里,允许Charles通过。
  • 做完这些,我信心满满地又试了一次。结果,还是不行!我当时心态有点崩了。

端口号的坑,原来这么深

来来回回看了好几遍Charles的设置和电脑的代理设置,IP地址对上了,端口号也对上了,都是8888。可为什么就是不行?我突然灵光一闪,会不会是端口被占了?

  • 敲开命令行,输入了个命令(netstat -ano findstr "8888"),一查,好家伙!8888端口赫然显示被另一个进程占用了!
  • 一看进程ID,再到任务管理器里一瞅,原来是之前装的一个什么加速器软件,它偷偷地把这个端口给占了。
  • 马上把那个占着8888的进程干掉了,然后把Charles的代理端口改成了另外一个不常用的,比如8889。
  • 改完端口,我电脑的系统代理也跟着改成了8889。手机上那边,我也把代理的端口号改成了8889。

终于抓到包了!但又遇上了证书问题

这回Charles界面上终于动起来了!HTTP的包哗哗地开始走。我心里一块大石头落地了。但是,HTTPS的包还是不行,显示一堆unknown。我知道,这是证书的问题了。这下我可以顺利地从手机浏览器访问Charles的证书安装地址,然后一路“同意”、“信任”下来。

  • 电脑上也要装好证书,特别是Charles给的那个根证书。
  • 手机上,安卓的要下载下来手动安装,IOS的直接点开就能装。
  • 装完之后,记得去系统设置里把证书信任打开

都弄好之后,我再一看Charles,HTTPS的包也完美地解析出来了!那一刻,我感觉自己像个英雄。从那天晚上折腾到半夜两点,我总算把这个拦路虎给解决了。

我为啥知道这些?

这事儿,说起来也挺郁闷的。我那时候刚辞职,想自己接点私活儿,练练手也赚点家用。这个抓包的项目就是我的第一个小单子,想着赶紧做出来好交差。结果就卡在Charles这里,搞得我一整晚上没睡我老婆看我那样子,还以为我失业了心里着急。我当时急得像热锅上的蚂蚁,就怕搞不定耽误了项目,辜负了人家的信任。那会儿我就跟自己说,下次再碰到这种工具出幺蛾子,我一定要把所有坑都给它挖出来,记下来。今天就分享出来了,希望各位兄弟以后别像我一样,因为这么个小问题耽误了事儿。