IOS抓包工具

在iOS开发过程中,抓包是常见的必备技能之一。这里我们主要介绍一下Mac下的抓包利器Charles(文中版本:4.0.1)。它可以非常方便的抓取Http/Https请求,从而提高我们的开发效率。本文中不提供破解版安装使用说明(网上一大堆),建议使用正版,官方dmg下载地址:Charlesproxy

破解版:http://charles.iiilab.com)

如何抓取Http请求?

  • 安装完成之后打开Charles,设置端口号:8888(端口号可以自定义)。

选择“Proxy”菜单下的“Proxy Settings”子菜单。打开“Proxy Settings”对话框:

  • 在“Proxy Settings”对话框中设置端口号:8888,并勾选“Enable transparent Http proxying”

  • 打开“网络偏好设置”查看电脑IP地址:

  • 设置手机网络(iOS)
  • 打开需要抓包的手机APP,初次使用时,Charles会弹出确认对话框,直接点击”Allow”按钮后就可以看到对应的请求数据

温馨提示:抓完包之后,请把手机WiFi中的HTTP代理关闭。不然可能造成iOS无法访问网络。

如何抓取Https请求?

  1. 电脑安装SSL证书

选中Charles,在“Help”菜单中选择—>“SSL Proxying”—>“Install Charles Root Certificate”会自动打开钥匙串访问窗口

在“钥匙串访问”窗口中找到对应的证书,双击打开。设置“使用证书时”项为:始终信任。

填写管理员密码更新设置。

  1. 手机安装证书(使用Safari方式)

请确保手机已经设置好手动代理(具体方式参照上面HTTP抓包设置方式)。

在手机Safari浏览器中输入下面的链接地址:
Charles Proxy。手机会自动跳转安装“Charles Proxy SSL Proxying”描述文件。如下图所示:

点击“安装”按钮,会提示输入手机密码,然后确认安装。

以上便完成手机SSL证书安装步骤。

  1. 在Charles工具栏上点击设置按钮,选择“SSL Proxying Settings…”

打开“SSL Proxying Settings”对话框


点击“Add”添加:Host中输入*表示匹配所有主机。https默认端口号:443

添加完成显示结果如下

  1. 测试
  • 安装手机证书之前测试结果如下图所示
  • 安装手机证书之后测试结果如下图所示:

针对Charles代理访问https有些正常有些失败的处理方法(一般https只要打开charles 的”Enable SSL Proxying”代理就能访问)

如果没有Wifi,我们还可以这样抓包?(本文不做详解)

  1. 抓包之rvictl方式
  • 开启虚拟端口:rvictl -s
  • 关闭虚拟端口:rvictl -x
  • 然后使用wireshark来捕捉这个端口数据。
  1. 抓包之tcpdump方式
    有个很大的缺点是手机需要越狱。

   转载规则


《IOS抓包工具》 码匠先生 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Mongodb 教程 Mongodb 教程
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非
2017-08-02
下一篇 
zookeeper教程 zookeeper教程
zookeeper 是一个开源的分布式协调服务,由知名互联网公司雅虎公司创建,是Google Chubby 开源实现。 他致力于提供一个高性能,高可用,且具有严格的顺序访问控制能力的分布式协调服务。分布式应用可以基于诸如数据发布/订阅、负
2016-07-27
  目录