当前位置: 首页 > 科技观察

闻起来真香!自从用了Charles,我就彻底卸载了Fiddler

时间:2023-03-20 17:04:22 科技观察

做client/server测试时,经常需要对client的操作进行抓包分析,检查request和response数据是否符合预期。因此,抓包能力是软件测试从业者的必备技能。目前业界常用的抓包工具主要有Fiddler和Charles。本文重点介绍Charles的基本使用。Charles是一款支持HTTP代理和抓包的网络代理软件。当浏览器或APP通过Charles访问网络时,可以记录并显示所有发送和接收的数据。01安装Charles依赖Java运行环境。本机需要先配置jdk(具体安装配置省略)。访问Charles官网,点击右侧下载按钮,下载最新版本的Charles。Windows下双击安装。当前最新版本为4.6.2。02Web抓包默认情况下,启动Charles后,可以自动抓取Chrome浏览器和Firefox浏览器的抓包。如果抓不到,请检查是否设置了代理开关“WindowsProxy/MacProxy”03常用功能Charles主要提供了两个查看数据包的视图,命名为“Structure”和“Sequence”Structure视图根据访问的域对网络请求进行分类name序列视图按访问时间对网络请求进行排序04Requests默认情况下,Charles会抓取所有的包,并显示在请求列表中。但大多数情况下,我们只关心某个ip或某个域名下的包,Charles提供了过滤器帮助我们显示/排除指定的HTTP请求,Charles有两种实现请求过滤的方法:方法一:请求列表下方的Filter可以实现简单的过滤功能,输入关键字即可过滤出对应的URL方法二:在菜单栏“Proxy-RecordingSettings”,设置include(包含)和exclude(排除),可以只显示或不显示指定的url05弱网测试和Fiddler一样,Charles也提供了弱网络模拟功能,测试浏览器/APP在弱网情况下的使用情况。在菜单栏的“Proxy”->“ThrottleSetting”中,Charles内置了不同的网络模式:56kbps、256kbps……3G、4G等,模拟不同的弱网效果。也可以手动修改Download和Upload的值来模拟不同的速度。需要注意的是,这里的网络速率值是以bps为单位,对应常用的byte/s,需要除以8,如图,4096kbps实际上是512kb06请求/响应断点。拦截并修改请求的参数。或者修改请求响应中的值,可以使用Charles的断点功能。在请求列表中,选择一个URL,右击“Breakpoints”,默认为该请求设置一个请求+响应断点。当执行指定的操作时,Charles会拦截相应的请求,支持数据修改修改服务器返回的响应内容,比如修改成功为失败如果想做一些更详细的断点配置设置BreakpointSettings07APP抓包和Fiddler同样,Charles也可以抓取APP端的数据包。需要进行以下设置。ProxySetting中的设置让远程HTTP代理电脑和手机连接同一个WiFi,设置手机上的WiFi代理指向Charles所在的ip和8888端口。最后,Charles还有很多高级功能,大家可以去官网查看文档学习。

猜你喜欢