当前位置:网站首页>真香,自从用了Charles,Fiddler已经被我彻底卸载了
真香,自从用了Charles,Fiddler已经被我彻底卸载了
2022-06-27 19:36:00 【软件测试呀】
在做客户端/服务端测试时,经常需要对客户端的操作进行抓包分析,排查请求和响应数据是否符合预期。因此抓包能力是软件测试从业者的必备技能。目前行业里常用的抓包工具主要有Fiddler和Charles。本文重点讲解下Charles的基本使用。
Charles 是一款支持 HTTP 代理和抓包的网络代理软件。浏览器或APP通过 Charles 访问网络时,它可以记录并显示所有发送、接收的数据。
01安装
Charles依赖Java运行环境,本机需要先配置好jdk(具体安装配置略)
访问Charles官网:https://www.charlesproxy.com/
点击右侧下载按钮,就能下载最新版Charles,在Windows下双击安装即可。目前最新的版本是4.6.2。
02web抓包
默认情况下,启动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

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

电脑和手机连接同一WiFi,在手机端设置WiFi代理,指向Charles所在的ip和8888端口
最后,Charles还有很多高级功能,大家可以去官网查看文档进行学习。
房子要一层一层盖,知识要一点一点学。大家在学习过程中要好基础,多上手实操,话不多说,这里狠狠上一次干货!我熬夜整理好的各阶段(功能、接口、自动化、性能、测开)技能学习资料+实操讲解,非常适合私下里学习,比找资料自学高效多了,分享给你们。
领取关 w/x/g/z/h:软件测试小dao
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
边栏推荐
- Array assignment
- 数组作业题
- win11桌面出現“了解此圖片”如何删除
- Process control task
- [leetcode] dynamic programming solution split integer i[silver fox]
- 图解基于AQS队列实现的CountDownLatch和CyclicBarrier
- Xiao Wang's interview training task
- io流代码
- Oracle migration MySQL unique index case insensitive don't be afraid
- At 19:00 on Tuesday evening, the 8th live broadcast of battle code Pioneer - how to participate in openharmony's open source contribution in multiple directions
猜你喜欢

STM32F107+LAN8720A使用STM32cubeMX配置网络连接+tcp主从机+UDP app

【MySQL】数据库函数通关教程下篇(窗口函数专题)

Express e stack - small items in array

Simulink导出FMU模型文件方法

Go从入门到实战——协程机制(笔记)

The create database of gbase 8A takes a long time to query and is suspected to be stuck

AI painting minimalist tutorial

AQS SOS AQS with me

C language programming detailed version (learning note 1) I can't understand it after reading, and I can't help it.

Slow bear market, bit Store provides stable stacking products to help you cross the bull and bear
随机推荐
Matlab finds the position of a row or column in the matrix
关于异常处理的知识整理
数组作业题
豆沙绿保护你的双眼
[leetcode] dynamic programming solution partition array i[red fox]
熊市慢慢,Bit.Store提供稳定Staking产品助你穿越牛熊
Go from introduction to practice - polymorphism (note)
Burp suite遇到的常见问题
Go從入門到實戰——接口(筆記)
Golang 使用正则来匹配出子字符串函数
Common problems encountered by burp Suite
. Net learning notes (V) -- lambda, LINQ, anonymous class (VaR), extension method
集合代码练习
Express e stack - small items in array
[LeetCode]186. 翻转字符串里的单词 II
AQS SOS AQS with me
小王的面试训练任务
How to delete "know this picture" on win11 desktop
Gbase 8A method for reducing the impact on the system by controlling resource usage through concurrency during node replacement of V8 version
STM32F107+LAN8720A使用STM32cubeMX配置网络连接+tcp主从机+UDP app