抓包工具Charles使用指南Mac

Charles

①.Charles下载

Charles当前基本上都是收费软件,请大家支持正版软件!
建议不管是windows还是Mac的小伙伴用Charles吧!

②.将 Charles 设置成系统代理

Charles 是通过将自己设置成代理服务器来完成封包截取的,所以使用 Charles 的第一步是将其设置成系统的代理服务器。第一次启动Charles会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” -> “Mac OS X Proxy” 来将 Charles 设置成系统代理。


Charles 设置成系统代理

③.过滤网络请求

通常情况下在抓包的时候,你可能只想关注一部分指定的域名所发送的网络请求,但是其他的请求总是那么多,那么下面就介绍两种方法来实现!

方法一:通过设置Recording Settings

Charles菜单选择“Proxy”->”Recording Settings” 选择Include 标签然后选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。
1、Protocol:不选择则不区分http和https
2、Host:可以设置泛域名,如 *.baidu.com
3、Port:可以不设置
4、Path:根据需求在需要只监控部分接口时使用
5、Query:根据需求在需要只监控部分接口时使用


Recording Settings
方法二:右键菜单Focus

这个方法比较简单快捷,在一些临时情况下可以很快进行过滤,比较方便,方法则是:在想过滤的网络请求上右击,选择 “Focus”


Focus

有很多小伙伴在Focus之后就忘记了哪些Focus过,以至于Charles显示出来的过滤的请求比较杂!在菜单 “View->FocusedHosts...”中进行管理Focus过的域名


FocusedHosts...

④.手机端/App抓包

在我之前的简书文章里有详细的设置方法和注意事项![点击穿越]

⑤.模拟网络

不管是在做app开发还是app测试的时候,模拟慢速网络或者高延迟的网络看应用的表现是否正常都是必要的,可以通过以下设置进行操作:“Proxy”->”Throttle Setting”勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。


Throttle Setting

如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项,然后在对话框的下半部分设置中增加指定的 hosts 项即可。


Enable Throttling

⑥.编辑网络请求

有时候在调试或者测试的时候需要反复不断的尝试不同的参数来调用接口,Charles 可以方便地提供网络请求的修改和重发功能,只需要编辑一下,进行修改之后执行即可,如下Gif演示


compose

⑦.修改服务器返回内容

常常有时候需要模拟一些数据异常的情况,通过Charles对返回值进行修改,那么在进行测试的时候必然会事半功倍,不会受到后端程序和数据的禁锢!Charles 提供了 Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以达到修改服务器返回内容的目的。
1、Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。
2、Rewrite 功能适合对网络请求进行一些正则替换。
3、Breakpoints 功能适合做一些临时性的修改。

1、Map

Charles 的 Map 功能分 Map Remote 和 Map Local 两种,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件


Map Remote

我可以通过Map Remote将测试环境的域名重定向到线上域名:


Map Remote

对于Map Local,通俗来讲可以将一个接口的返回值通过Charles指向一个本地文件,本地文件中可以变成任何你想让接口返回的数据。比如本地当前保存过一个response文件(返回值文件,可以通过右键"save response"进行保存)
Map Local

Map Local 在使用的时候,有一个潜在的问题,如果客户端校验了 Http Response Header 中的部分内容,就会使得该功能失效。解决办法是下面提到的 Rewrite 功能

2、Rewrite

Rewrite功能十分强大,在用的时候简直是事半功倍,打个比方:App已经做好了,但是接口这时候增加了一个参数,但是App本身是没问题的,App的人已经下班了,需要你验证一下这个接口发上去会不会影响到App,这时候就可以用rewrite了,通过重写接口请求,后把数据给App来查看app情况再合适不过了。好用到不能在好用。

举个栗子:

当前接口返回了一个分类叫“潮品”,这时候我想改成别的,比如“优雅的猪”。
1、首先进入rewrite菜单“Tools->Rewrite”


rewrite

2、首先要打开rewrite功能,勾选"enable rewrite"你会看到左边的菜单下面有个“ad
d”,点击添加一条rewrite规则


rewrite

3、设置location,做事得有个目标不是?所以要告诉Charles你要修改谁
location

4、设置修改规则,Charles提供了多种类型的修改规则

Add Header:请求中增加请求头
Modify Header:修改请求头
Remove Header:删除请求头
Host:修改指向
Path:修改路径
URL:修改请求地址
Add Query Param:增加请求参数(GET接口)
Modify Query Param:修改请求参数(GET接口)
Remove Query Param:删除请求参数(GET接口)
Response Status:修改返回值的HTTP状态值,如:404
Body:修改返回值的详细内容(POST接口)


Rewrite

设置好之后,可以replay一下请求,也可以用调用接口的app再试一下
Rewrite

Rewrite中所提供的这些类型不做一一演示,好好体会!有问题可以找我~

3、Breakpoints

Breakpoints 功能类似我们在设置的断点一样,以下一张Gif能说明,如果看不懂,那就多看几遍、


Breakpoints

需要注意的是,使用 Breakpoints 功能将网络请求截获并修改过程中,整个网络请求的计时并不会暂停,所以长时间的暂停可能导致客户端的请求超时。

码字好累。。。


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

推荐阅读更多精彩内容