iOS-开发抓包工具之Charles

在iOS开发过程中,抓包是常见的必备技能之一。这里我们主要介绍一下Mac下的抓包利器Charles(文中版本:4.0.1)。它可以非常方便的抓取Http/Https请求,从而提高我们的开发效率。本文中不提供破解版安装使用说明(网上一大堆),建议使用正版,官方dmg下载地址:点击此处
一、如何抓取Http请求?
(1)安装完成之后打开Charles,设置端口号:8888(端口号可以自定义)。
选择“Proxy”菜单下的“Proxy Settings”子菜单。打开“Proxy Settings”对话框:

1479258858690546.jpg

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

(2)打开“网络偏好设置”查看电脑IP地址:
1479258898483149.jpg

(3)设置手机网络(iOS):
1479258932679473.jpg

(4)打开需要抓包的手机APP,初次使用时,Charles会弹出确认对话框,直接点击”Allow”按钮后就可以看到对应的请求数据。
温馨提示:抓完包之后,请把手机WiFi中的HTTP代理关闭。不然可能造成iOS无法访问网络。
二、如何抓取Https请求?
(1)电脑安装SSL证书
选中Charles,在“Help”菜单中选择—>“SSL Proxying”—>“Install Charles Root Certificate”会自动打开钥匙串访问窗口:
1479258958711840.png

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

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

(2)手机安装证书(使用Safari方式):
请确保手机已经设置好手动代理(具体方式参照上面HTTP抓包设置方式)。
在手机Safari浏览器中输入下面的链接地址:http://charlesproxy.com/getssl。手机会自动跳转安装“Charles Proxy SSL Proxying”描述文件。如下图所示:
1479259108857718.jpg

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

以上便完成手机SSL证书安装步骤。
(3)在Charles工具栏上点击设置按钮,选择“SSL Proxying Settings…”:
打开“SSL Proxying Settings”对话框:
1479259172818647.jpg

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

添加完成显示结果如下:
1479259195476646.jpg

(4)测试:
安装手机证书之前测试结果如下图所示:
1479259217939679.jpg

安装手机证书之后测试结果如下图所示:
1479259228540544.jpg

针对Charles代理访问https有些正常有些失败的处理方法(一般https只要打开charles 的”Enable SSL Proxying”代理就能访问):点击此处
三、如果没有Wifi,我们还可以这样抓包?(本文不做详解)
(1)抓包之rvictl方式:
开启虚拟端口:rvictl -s

关闭虚拟端口:rvictl -x

然后使用wireshark来捕捉这个端口数据。
(2)抓包之tcpdump方式:
有个很大的缺点是手机需要越狱。
本文内容中部分来自网络,后续会不断更新完善。欢迎一起学习交流!
如需转载,请注明出处
四、参考博客地址:
Mac上的抓包工具Charles

原文链接:http://www.cocoachina.com/ios/20161116/18079.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简书上的文章已经不再维护,有兴趣阅读其他文章,或一起交流的朋友,请移步 我的博客:punmy.cn 原文 本篇博客...
    胖绵羊阅读 10,273评论 7 35
  • 01 一颗大树, 任由时间在她身上,刻满沧桑。 长满老茧的双手,又在为她不争气的儿子打点行装。 不要什么回报,只要...
    村口小酒馆阅读 151评论 6 5
  • 大项目中的客户角色,分别是:EB(经济购买影响者)、TB(技术购买影响者)、UB(使用购买影响者)、Coach(教...
    金林木阅读 1,610评论 0 2
  • 《斯德哥尔摩综合症》中叶琛因为赢了足球比赛而被报复挨了一顿打,他身边的人或看笑话,或随意安慰几句,没有人问他疼不疼...
    言一米阅读 325评论 0 1
  • 电影《超能查派》在结尾的时候,通过复制迪恩的意识,并将其意识复制到一个机器上,让迪恩复生。同时查派告诉迪恩,他将会...
    水木心阅读 633评论 0 2