昨天在使用XXX APP时想找个人办点事,却发现他的电话号码被隐藏了中间几位,不能完全看到,但是只有电话号码才能联系到他。作为一个IT男,就想入非非啦,忽喷哈......
就抱着是试一试的态度,说不定抓取的数据会有完整的电话号码,打开Mac,开干......
打开Charles后,手机配置好后发现XXX APP那个页面的请求是HTTPS,按照网上的一些方法配置,还是没办法解包HTTPS的数据,基本都是乱码的,经过折腾后,终于能看到那个号码啦,哈哈......,下面我备忘配置的过程,首先说明我的运行环境(Charles 4.1.1; macOS Sierra 10.12.5; iOS 10.3.2 )
配置抓取HTTPS
最新版的Charles 4.xxx与之前3.0或者更早的版本在界面上有些改变,要配置抓包HTTPS,首先点击菜单栏的 Proxy —> SSL Proxy Settings,把Enable SSL Porxying 打钩,同时还要添加你要解析的host列表,我这里想对所有的HTTPS都解析,所以使用*,如下图所示
至此,Charles配置结束。
配置Mac
按照网上的文章的方法安装了Charles证书后,发现使用浏览器没办法打开https://www.baidu.com,错误如下所示
,看到这个错误就想到是系统把证书当做不合法的证书处理了,于是打开Keychains,输入Charles 关键字搜索,果然发现是看这样这样的情况,如下所示
,
显然是系统没有信任该证书,双击上图中的红框后, 然后再点击“信任”左边的箭头会看到如下图所示
然后点击“使用此证书时”这个选项的弹出框,选择“始终信任”,看到如下图的效果
然后点击左上角的关闭,会让你输入密码,就OK了。效果如下所示
配置iPhone
在手机上也按安装证书后,然后打开iPhone的 设置—>通用—>关于手机—>证书信任设置,然后把信任开关都打开即可,如下图所示
到此配置就已经结束,打开手机发请求你就能在Charles中找到你要看的数据啦!