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

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

Charles

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

中间人抓包图

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

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

   🌴1、安装 Charles 证书到电脑。

安装 Charles 证书

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

始终信任

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

信任 Charles 证书

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

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

iPhone 上安装证书

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

两步操作

   🍃2、两步操作具体流程。

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

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

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

两步操作具体流程

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

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

  SSL Proxying Settings  

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

58 速运

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

和左边58速运对比

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

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

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

添加 Breakpoints

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

编辑请求数据

     Tips:  

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

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

证书没设信任

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

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

   🌴 Was this help article useful ?  Send feedback.

      参考:

             Charles Proxy 官方文档

            Charles 部分专业名词解析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 简书上的文章已经不再维护,有兴趣阅读其他文章,或一起交流的朋友,请移步 我的博客:punmy.cn 原文 本篇博客...
    胖绵羊阅读 10,171评论 7 36
  • 抓包分析数据在移动开发中十分重要,可以帮助我们更快的了解数据构成,提高开发效率。但是在苹果要求上线的App必须使用...
    梧雨北辰阅读 14,748评论 21 35
  • 阳光难觅的地方 总有她的身影 街道的繁华掩盖她的忧伤 淡淡的忧伤在相随 淡淡的泪水在醖酿 散发着独一无二的芬芳 姑...
    时光向前阅读 308评论 0 1
  • 衰老是人类永恒的话题,愿老去的皮肤和衰退的身体机能可以换来更强大的思维能力和格局。 愿你心中有梦,永远前行。
    瓷蓝阅读 101评论 0 0
  • 大家都知道成功等于简单的事情重复做,但是这只是一半,还有更重要的一半是,学习是要在学习区刻意地重复练习。 ...
    杨曼菱乖乖阅读 282评论 0 0