Charles使用方法纪录

Charles是一款代理服务器抓包工具, 通过将自己设置成系统的网络访问代理服务器,使所有的网络请求都通过它,以此达到对网络封包的截取和分析。

一.打断点:

方法1:找到Charles中菜单项Proxy里面的Breakpoint Settings选项,在弹出的框中勾选Enable Breakpoints,选择Add添加按钮,添加想要断点测试的网址等信息 
 在这里插入图片描述
方法二:进入一个网址Charles获取请求地址后,对想要篡改的请求右键–>Breakpoints,重新发送打断点的请求,Charles就会截取到该请求。
在这里插入图片描述
可以修改请求(在右边的框内可以看到Edit Request)和修改返回的内容(Edit Response),通过打断点来测试服务器对异常情况的处理,防止被灌入脏数据
修改请求:我在次过程中修改了页面链接,测试的过程中替换成了别的页面,当然也可以修改好多请求内容,等测试结束,原页面恢复正常。
在这里插入图片描述
修改返回的内容,在此过程中,我修改的是页面的内容,Excute通过后,页面发生变化,同样也可以修改好多返回的内容,测试完成后,原页面恢复原状。
在这里插入图片描述

二.模拟弱网测试:

当我们在移动端测试过程中会常用到模拟慢速网络或者高延迟的网络 ,,以测试在移动网络下,应用的表现是否正常
Proxy-->Throttle(舌肉头) Settings,添加好想要测试的网址且选好你要测试的网速(3G/4G/KB/MB),刷新网页,查看所花费的时间,进行对比和分析。(对比不同网络下应用的表现是否正常)

在这里插入图片描述
 Chrome模拟慢速网络步骤:

1.打开谷歌浏览器,输入要测试的网址,按下F12,去除缓存,刷新网页,查看所耗费的时间

2.在弹出的调试面板内找到No throttling选项,默认是没有开启的,可以选择Fast 3G或者Slow3G等,也可以自己添加设置网络速度,但是如果你设置的网速很快,本身自己电脑的网速达不到那个要求,是没有用的,之后刷新网页,查看消耗的时间
    在这里插入图片描述

三.域名映射:

1.Charles将网络资源映射本地文件(Charles映射本地资源)
在生产实践中以及项目已经上线的情况下,出现bug更是难以在本地复现,已经上线的项目不可能允许你随时上传文件测试。所以,有一个迫切的需求就是将网络资源映射为本地文件,方便调试,等调试好了再将文件上传到生产服务器。

1.先用浏览器打开你要测试的网址,打开charles截取,在charles选中你要测试的内容之后保存,格式有html、css、json等,不知道你要修改的是什么格式的文件,可以查看Overview中的Content-Type选项。
 在这里插入图片描述
 2.找到Tools->Map Local,添加要测试的网址,可以直接复制网址,添加的时候自动解析,然后再Choose,添加上保存的文件等,对于Query选项,你复制的网址有就有,反正自动解析,可以不用太纠结。
 3.重新刷新页面可以看到页面发生了变化,最后不要忘记将映射的本地资源选项删除掉,否则下次再打开这个网页,还是映射的本地文件。
 在这里插入图片描述
 在这里插入图片描述

2.Charles将网络资源映射为其它服务器资源(Charles域名映射)

有时候是放线上项目的服务器上的接口出了问题,我们这时候不可能直接在线上项目的服务器上调试,只能是映射到开发服务器上做调试。因为直接在线上项目的服务器中做调试的话,会导致项目出现问题造成损失,而且故障可能就出现在生产数据库的数据里,但是你暂时挑不出是哪个数据出的bug。 通过Charles域名映射可以定位BUG

1.打开浏览器和Charles,在浏览器中输入你要测试的网址,在Charles中找到Tools->Map Remote
2.弹出的窗口内填写你要原有的网址和到谁的网址,保存好后刷新页面,有些刷新后会提示你请求错误,或者重定向过多等,大的网站会拒绝你的请求。
在这里插入图片描述
3.测试结束后,不要忘记取消域名映射,对于弹出框中最下面勾选的项:Preserve host in header filelds,是为了保证Header头部信息不会变,最好都勾上。

四:Charles过滤请求

通常情况下,需要对网络请求进行过滤,只监控指定服务器的请求。

方法一:在主界面的底部右侧的 Filter 栏中填入需要过滤出来的关键字。例如我要测试地址是:https://www.cnblogs.com/ttxcs/, 那么只需要在 Filter 栏中填入cnblogs即可。通常情况下,我们使用该做一些临时性的封包过滤。
  在这里插入图片描述
方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。选择Exclude栏,是排除要截取的网站的封包。最后不要忘记都去除掉,防止忘记打不开想要截取的网络封包。使用该方法做一些经常性的封包过滤。
在这里插入图片描述

五. Charles进行打压测试(负载测试,这个跟jemter相比,jemter效果比Charles效果好点)

1.在想打压的网络请求上(Post 或 Get 请求均可)右击,选择 “Repeat Advanced”。
在这里插入图片描述
 2.接着在弹出的对话框中,选择打压的并发线程数以及打压次数(迭代次数也就是循环次数的意思),确定之后,即可开始打压。这种不需要刷新页面,请求是在Charles内部内部完成的,因此不能在浏览器或者其它客户端查看响应。
 在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值