iOS Charles 抓包 https 实战并篡改返回数据

栏目: IOS · 发布时间: 5年前

内容简介:没需求?No!不想拦截某个软件的接口数据瞧瞧到底干了啥?是否遇到想把返回数据更改下,来测试临界值情况,得找个后端来一起调试下?发个 Post 请求调试只能一步步来码?这些何曾不是 iOS 开发中面临的!只需要拥有它 Charles 抓包,一切都帮你搞定。Charles

没需求?No!不想拦截某个软件的接口数据瞧瞧到底干了啥?是否遇到想把返回数据更改下,来测试临界值情况,得找个后端来一起调试下?发个 Post 请求调试只能一步步来码?这些何曾不是 iOS 开发中面临的!只需要拥有它 Charles 抓包,一切都帮你搞定。

iOS Charles 抓包 https 实战并篡改返回数据

Charles

那么iOS 开发如何抓包呢,原理其实说起来也很简单,就是在客户端给服务器端发消息的时候,中间人(Charles 抓包)截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。先看看下面的图,简单了解下中间人抓包过程:

iOS Charles 抓包 https 实战并篡改返回数据

中间人抓包图

下载安装 Charles 抓包软件。破解版下载:http://www.sdifen.com/

本文主要讨论两点:iOS开发中利用 Charles 抓包 https 请求和利用 Charles 篡改返回数据。   

1、安装 Charles 证书到电脑。

iOS Charles 抓包 https 实战并篡改返回数据

安装 Charles 证书

2、Charles 证书的信任。先打开钥匙串,看看是否安装成功了没。成功了,双击该证书,点击 "信任",展开后出现如下,选择:始终信任。

iOS Charles 抓包 https 实战并篡改返回数据

始终信任

信任成功后,可以抓取到网页的 https     数据啦。但是要抓取手机设备上的 https 数据,还需要进行下面的代理等操作。

iOS Charles 抓包 https 实战并篡改返回数据

信任 Charles 证书

iPhone 上安装证书并设置网络代理

1、先在 Mac 设备的 Charles 进行如下操作。

iOS Charles 抓包 https 实战并篡改返回数据

iPhone 上安装证书

出现如下提示。这里是告诉我们在设备上进行如下两步操作。

iOS Charles 抓包 https 实战并篡改返回数据

两步操作

2、两步操作具体流程。

2.1、手动设置网络代理。iPhone Wi-Fi 连接到 Mac 共享的热点上,然后点击连上的共享 Wi-Fi 手动设置代理。输入如上图 "两步操作" 的第 1 步地址。

2.2、安装 Charles 证书。打开 Safari 浏览器,输入如上图 "两步操作" 的第 2 步地址。按提示安装 Charles 证书。

2.3、证书信任设置。还有这一步主要是在 iOS10.3 或之后的系统,需要手动信任已下载的证书。(设置 - 通用 - 关于本机 - 证书信任设置)

iOS Charles 抓包 https 实战并篡改返回数据

两步操作具体流程

完成上面操作,最后再设置下SSL Proxying ,就可以利用 Charles 抓包 https 请求了。

选择 Charles 菜单中:Proxy -> SSL Proxying Settings...

iOS Charles 抓包 https 实战并篡改返回数据

SSL Proxying Settings  

回归到本文需求第一点,对  https 的请求进行抓包!最近负责物流模块的优化任务,先去瞧瞧同类的 "58速运" 是网络层到底发生了些什么。

iOS Charles 抓包 https 实战并篡改返回数据

58 速运

可以看到它返回的是一个 HTML,可以知道这个界面中 "58速运" 采用了网页展示和进行一些交互的操作完成该功能。而我们 app 中使用了原生的开发。

iOS Charles 抓包 https 实战并篡改返回数据

和左边58速运对比

回到本文需求第二点,更改返回数据来测试临界情况!

这种做法可以让一个iOS前端的开发人员独立完成测试而不用拉过来一个后端一起联调。并且各种特殊维度,或是临界的账号也不用再去辛苦找了,仅仅自己在 Charles 上改来改去就可以达到效果了。比如这个地方如果返回了nil 程序会不会崩,直接改 response 就行了。下面是具体操作方案。

请求的父目录一般是域名头,要在这里打断点。注意:不是在下面的单个请求上打断点。

iOS Charles 抓包 https 实战并篡改返回数据

添加 Breakpoints

先正常的打开 Charles 这个页面把玩几下,Charles 就会抓取很多接口和域名分类了。在这里找到你这个页面所属的域名分类应该不难。再次进入调试界面,会通过刚才打断点的那个域名来请求数据,请求就会被断点拦住,如下图所示。

iOS Charles 抓包 https 实战并篡改返回数据

编辑请求数据

Tips:

1、如果 Mac 上关闭了 Charles,手机要关闭 Wi-Fi 代理,否则可能会导致手机无法正常联网。还有种操作是连接到其他 Wi-Fi 或使用移动蜂窝数据,但是下一次再连接到你共享的 Wi-Fi 热点,没关闭代理还是无法联网的。

2、出现 ?看下 Notes 中是不是 "You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu."  那就看 iPhone 上证书信任设置了不。(设置 - 通用 - 关于本机 - 证书信任设置)

iOS Charles 抓包 https 实战并篡改返回数据

证书没设信任

3、若 Charles 界面一片空白,点击菜单:File -> New Session 即可。

4、瞧不起 Charles?想删 iPhone 里的证书怎办?这小招还是要了解下的,比如换了台更炫的 Mac 电脑呢,是不是得删了这个碍眼文件呢。到 "设置 - 通用 - 描述文件" 里选择 "Charles Proxy..." 文件,移除描述文件即可。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

黑客大曝光

黑客大曝光

Joel Scambray、Vincent Liu、Caleb Sima / 姚军 / 机械工业出版社华章公司 / 2011-10 / 65.00元

在网络技术和电子商务飞速发展的今天,Web应用安全面临着前所未有的挑战。所有安全技术人员有必要掌握当今黑客们的武器和思维过程,保护Web应用免遭恶意攻击。本书由美国公认的安全专家和精神领袖打造,对上一版做了完全的更新,覆盖新的网络渗透方法和对策,介绍如何增强验证和授权、弥补Firefox和IE中的漏洞、加强对注入攻击的防御以及加固Web 2.0安全,还介绍了如何将安全技术整合在Web开发以及更广泛......一起来看看 《黑客大曝光》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具