使用Charles进行https抓包

2016-08-24  本文已影响4234人  mercurygear

背景

随着apple对https协议的强推(貌似2017年开始ios应用上架就得全部用https协议了),作为iOS开发来说,会越来越多的接触到这个协议,并不可避免的需要抓包来进行问题的定位解决。好在我们常用的Charles也支持https协议抓包,这就极大方便了我们。

原理

Charles能进行https协议抓包分析,是使用了中间人代理的方法(man-in-the-middle,也常作为一个黑客攻击手段)。Charles代替你的app接受server的证书,然后使用这个证书通过SSL和server通信;同时,Charles会动态的生成一个对应的证书(用Charles的CA证书签名),然后使用这个证书和你的app通信,这样就完成了一个中间人代理,从而可以把app和server的https包给抓到和解码出来。

使用

  1. 首先要安装Charles的证书,用iOS设备的safari打开http://www.charlesproxy.com/getssl,会弹出一个提示框让你安装证书,确认安装即可(只适用于真机,不适用于模拟器)
  2. 打开菜单Proxy -> SSL Proxying Settings...,在弹出的设置框中,勾选Enable SSL Proxying,同时添加需要代理的域名(这里偷懒,直接设置成了*来代理全部https域名)


    SSL Proxying设置
  3. 开始愉快的抓包分析吧


    �百度首页抓包

注意事项

上一篇 下一篇

猜你喜欢

热点阅读