iOS安全攻防之使用 Charles 进行网络数据抓包
Posted ZachRobin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS安全攻防之使用 Charles 进行网络数据抓包相关的知识,希望对你有一定的参考价值。
Charles 是 Mac 系统下常用的网路抓包工具(Paros 也不错),windows 下常用 fiddler。正版的 Charles 是收费的(PS:支持正版),天朝人民比较喜欢破解版的Charles (感谢博主,好人一生平安,请多多支持博主)。
主要功能如下:
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
软件安装好之后:
接下来抓取手机上软件数据包需要进行配置: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 进行网络数据抓包的主要内容,如果未能解决你的问题,请参考以下文章