在做客户端/服务端测试时,经常需要对客户端的操作进行抓包分析,排查请求和响应数据是否符合预期。因此抓包能力是软件测试从业者的必备技能。目前行业里常用的抓包工具主要有Fiddler和Charles。本文重点讲解下Charles的基本使用。

Charles 是一款支持 HTTP 代理和抓包的网络代理软件。浏览器或APP通过 Charles 访问网络时,它可以记录并显示所有发送、接收的数据。

01 安装

Charles依赖Java运行环境,本机需要先配置好jdk(具体安装配置略)

访问Charles官网:https://www.charlesproxy.com/

点击右侧下载按钮,就能下载最新版Charles,在Windows下双击安装即可。目前最新的版本是4.6.2。

02 web抓包

默认情况下,启动Charles后,就能自动抓Chrome浏览器、Firefox浏览器的包,如果不能抓,请检查Charles中是否勾选了代理开关“Windows Proxy/Mac Proxy”

03 常用功能

Charles主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”

Structure 视图将网络请求按访问的域名分类

Sequence 视图将网络请求按访问的时间排序

04 请求过滤

默认情况下Charles会抓取所有的数据包,并展示在请求列表中。但是大多数情况下,我们只关系某个ip或某个域名下的包Charles提供了过滤器,帮助我们显示/排除指定的HTTP请求。

Charles有两种方式可以实现请求过滤:

方法一:

请求列表下方的Filter可以实现简单的过滤功能,输入关键字即可筛选出对应URL

方法二:

菜单栏“Proxy-Recording Settings”里,设置include(包含)和exclude(排除),可以仅显示或者不显示指定的url

05 弱网测试

和Fiddler一样,Charles也提供了弱网模拟的功能,测试浏览器/APP在弱网条件的使用情况。

菜单栏里“Proxy”–>“Throttle Setting”里,Charles内置了不同的网络模式:56kbps、256kbps … 3G、4G等,来模拟不同弱网效果。还可以手动修改Download和Upload的值,模拟不同的速度。

需要注意的是,这里的网络速率值,单位是bps,对应到常用的byte/s,还需要除以8,如图中的4096kbps,实际为512kb

06 请求/响应断点

如果想对某个请求进行拦截,修改请求的参数。或者修改某个请求响应中的值,可以使用Charles的断点功能。

在请求列表中,选择某个URL,右键点击“Breakpoints”,默认就给这个请求设置了请求+响应断点。进行指定的操作时,Charles就会拦截对应的请求,并支持数据修改

修改服务端返回的响应内容,比如将success修改为fail

如果想做一些更详细的的断点配置设置Breakpoint Settings

07 APP抓包

和Fiddler一样,Charles也可以抓APP端的包,需要进行以下设置,ProxySetting中设置允许远程HTTP代理

电脑和手机连接同一WiFi,在手机端设置WiFi代理,指向Charles所在的ip和8888端口

最后,Charles还有很多高级功能,大家可以去官网查看文档进行学习。


这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

关注我的微信公众号:【伤心的辣条】自行获取~

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友花了一段时间整理编写了《软件测试工程师发展规划路线》,也整理了不少【教程资源】,打包好了分享在群里面。有需要的朋友可以进群:914172719 获取。希望会给你带来帮助和方向

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

真香 自从用了Charles,Fiddler已经被我彻底卸载了相关推荐

  1. 封禁华为的美国,现在不得不在5G标准制定上“恢复合作”,网友:5G真香

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 华为被列"实体清单"还未满一年,外媒今日却曝出消息: 美国商务部拟允许美国公司与华为合作. 这波操作的目的是什么? 根据 ...

  2. 爬一爬 iPhone 11为何嘴上说真丑,销量却真香?

    9月11号早晨,在Steve Jobs剧院举行的2019苹果秋季新品发布会之后,蹲守在发布会前的果粉们开始了自乔布斯去世之后一年一度的对苹果的群嘲.从5S的土豪金,到6的大屏幕.粗线条,iPhone7 ...

  3. 百度“已死”,百度“真香”

    骂百度已然成为互联网的政治正确了. 10w+阅读量刷屏的一篇<搜索引擎百度已死>,和后续到达的作战大队<百度搜索引擎死了吗?><谁杀死了百度搜索?><百度双手 ...

  4. Ipad写代码真香,包邮送一个!

    牛年牛气祝福又来了~ 你的幸运值刷新了吗? 小礼物 iPad 一台 追剧学习两不误,真香! 赠送规则 本次联合抽奖活动,由几位大佬共同赞助.大家使用下面的二维码抽奖,中奖后,联系小编兑换.详细规则如下 ...

  5. c纳秒级计时器_C++11 计时器!真香

    C++11 计时器!真香 一.前言 在我们写程序过程中,有时候需要测试我们的程序语句执行时间的耗时,当前也是有很多的库提供我们去使用,一直没有良好的跨平台的库可以提供出来:而且一般这种代码也是由我们程 ...

  6. 程序员真香!IT 业 2020 年平均工资最高

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 5月19日,国家统计局发布2020年平均工资数据,随后,相关话题便冲上微博热搜. 程序员真香! 据国家统计局发布的数据显示,20 ...

  7. 漫步者煲耳机软件_它是苹果AirPods的“真香替身”——漫步者lolliPods开箱体验...

    ​年轻人非常喜欢新事物,这不,最近流行起蓝牙无线耳机的风,这次,笔者就为大家测评一下老牌国货--漫步者lolliPods 漫步者成立于90年代,这多年一直专注于音频技术的发开和进步,在国内外都有很多的 ...

  8. 在M1芯片上跑原生Linux:编译速度比macOS还快40%,真香警告

    Alex 发自 凹非寺 量子位 | 公众号 QbitAI 现在,M1 Mac可以顺利运行原生Linux了. 专为苹果自研芯片打造的Asahi Linux项目,Alpha版本已经释出. 在Mac采用英特 ...

  9. JAVA写出来的塔防能有多好玩?......真香!

    大家好,我是TJ 一个励志推荐10000款开源项目与工具的程序员 今天TJ君学到一个新名词 电子游戏阳痿,是指: 作为一个曾经爱玩游戏的人,在时间充裕.精力良好的状态下,依然不能把注意力集中在游戏上, ...

最新文章

  1. [转]iOS5 ARC学习笔记:strong、weak等详解
  2. 从PHP5到PHP7自我封装MongoDB以及平滑升级
  3. 一对经典的时间获取客户/服务器程序
  4. c语言 a 0,[整理]C语言中的a,a和a[0]
  5. JS遮罩效果 (很强)
  6. php java 读取所有txt_paip.文件读写api php java python总结.txt
  7. CentOS/Ubuntu/Debian常用版本更换国内源的方法
  8. 企业微信应用设置可信域名_企业微信更新版本 全平台内容可设置成英文
  9. R | package基础 | Rstudio + devtools 创建/开发R包(初学者 指南| 简明详细流程)
  10. 猿辅导李勇,狂烧百亿!人到中年,不疯魔,不成活!
  11. 图片批量重命名编号不要括号
  12. win7怎样修改文件后缀名
  13. golang:goredis库pipeline使用方式
  14. linux twm 窗口调节,CENTOS5.1怎样在命令行模式下改变X窗口启动的方式(TWM)
  15. DC Administration Services 宣布ISDA裁决委员会2021年申请流程
  16. linux下打开.mpp文件(微软project).
  17. 网页设计成品DW静态网页Html5响应式css3——电影网站bootstrap制作(4页)
  18. 深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》
  19. UnityShader镜面反射计算与反射光向量推导
  20. 鸿蒙起源轩辕厉害吗,同为上古神兵,鸣鸿刀与轩辕剑相比哪个更厉害?

热门文章

  1. 宝岛探险1(BFS)
  2. 计算机科学与技术a类学科,清华大学a类学科有哪些?附清华a类学科名单
  3. 大连理工大学计算机科学世界排名,喜忧参半!2021年5月ESI世界大学排行榜,21个学科排名数据分析!...
  4. 红旗linux mysql_请问红旗Linux下,安装Mysql时,应该下载mysql 的哪一种rpm包?谢谢
  5. 用dsp的c54x汇编语言编写4位数的按位输出和计算,DSP实验三实验四(精).doc
  6. oracle 故障 linux,從硬盤安裝Oracle Linux 6.3之軟驅故障
  7. C++ DLL导出接口
  8. Halcon 学习总结——仿射变换
  9. 125万像素智能相机收费站解决方案
  10. 计算机工程师专用小工具,204个联想工程师专用小工具合集