Ly

使用Charles对iPhone进行HTTPS抓包

最近在研究一款App的WebAPI,因为没有详尽的参考文档,不得不对其进行了抓包分析。 在Mac下我使用的是基于Java的Charles Web Debugging Proxy,启动后,它会自动抓取并分析本机访问网络的所有Http请求。但因为该App使用了HTTPS,无法直接抓取,需要进行设置,经过一番研究,步骤如下:

  • Charles Web Debugging Proxy内打开针对某域名的HTTPS抓取
  • 使用Keychain在Mac本机导入Charles的Crt证书
  • 使用iPhone Configuration Ultility在iPhone上导入Charles的Crt证书,Charles的Crt证书在App的Contents/doc目录下,名为:charles-proxy-ssl-proxying-certificate.crt
  • 在iPhone上设置Mac为代理服务器(Default Port:8080)

完成以上步骤之后,iPhone所有的基于HTTP/HTTPS的请求均会被记录下来,基于JSON的Response还会被非常好地格式化展现出来。

经过此番折腾,不由得深刻了解到对于伪造CA证书进行嗅探攻击的危害性之大,不了解的同学请点击此处,各位同学,看好你们的CA证书许可权限吧。

- END -
上一篇: 在Git下实现类似SVN的$Id$记号
下一篇: 自己动手DIY另类Raspberry Pi(树莓派)的盒子