首页 > 代码库 > iOS安全攻防之使用 Charles 进行网络数据抓包

iOS安全攻防之使用 Charles 进行网络数据抓包

  Charles 是 Mac 系统下常用的网路抓包工具(Paros 也不错),windows 下常用 fiddler。正版的 Charles 是收费的(PS:支持正版),天朝人民比较喜欢破解版的Charles (感谢博主,好人一生平安,请多多支持博主)。

  主要功能如下:

  1. 截取 Http 和 Https 网络封包。
  2. 支持重发网络请求,方便后端调试。
  3. 支持修改网络请求参数。
  4. 支持网络请求的截获并动态修改。
  5. 支持模拟慢速网络。

  软件安装好之后:

  技术分享

  

  接下来抓取手机上软件数据包需要进行配置:proxy->proxy settings,端口:8888,勾选上 Enable transparent HTTP proxying。

  技术分享

  是 iPhone 手机与电脑在同一局域网下,打开系统设置,进行网络代理设定:手机浏览器访问:http://charlesproxy.com/getssl 下安装描述文件。

  技术分享技术分享

 

  设定成功后访问网络,Charles 会弹出下面的框,点允许。

  技术分享

   

   如果需要截取 HTTPS 协议的相关信息,需要安装 Charles 的 CA 证书。选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”

  技术分享

  在钥匙串安装成功后需要输入用户名密码对证书进行信任。

   技术分享

  如果需要获取手机上的 HTTPS 协议相关内容,需要在手机上安装证书。“Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”

   技术分享

  需要注意的是,即使是安装完证书之后,Charles 默认也并不截取 Https 网络通讯的信息,如果你想对截取某个网站上的所有 Https 网络请求,可以在该请求上右击,选择 SSL proxy。

   

  接下来进行模式网络:

  模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。Charles 对此需求提供了很好的支持。在 Charles 的菜单上,选择 “Proxy”->”Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。如下图所示:

  技术分享

  

  使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力,方法如下:右键选中,选择 Repeat Advanced..可以选择压测数量。

  技术分享

  技术分享

  

  修改网络请求内容:

  

 

iOS安全攻防之使用 Charles 进行网络数据抓包