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

Posted ZachRobin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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..可以选择压测数量。

  

  

 

  解决 Charles 响应乱码问题:

  选择 proxy中的SSL Proxying Settings ,点击添加

  

 

  最后献上抓取 微贷网 的 HTTPS 数据包结果:

  

 

  修改网络请求内容:

  

 

  另外一种Mac下常见的抓包软件是 Paros,需要的话留言。

  Paros 操作更简单。

  点击 Paros.jar 打开,

  

 

  点击 Tools->Options->Local proxy,设置 IP 和端口号:

  

  然后在手机上设置 HTTP 代理。同上。进行网络请求就可以看到数据包了。

  

  

 

  

 

以上是关于iOS安全攻防之使用 Charles 进行网络数据抓包的主要内容,如果未能解决你的问题,请参考以下文章

iOS安全攻防之越狱设备检测

黑客技能:网络攻防的艺术之TCP协议篇

安全攻防实战系列MSF

iOS安全攻防之使用 Frida 绕过越狱设备检测

网络安全那些年我们一起为攻防做过的信息收集之whois查询

python安全攻防之socket网络编程