测试必备工具之最强抓包神器 Charles,你会了么?

发表于:2023-9-18 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余生没有余生    来源:博客园

  前言
  作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷;
  比如时下特别流行的Fiddler工具,使用各种webAPP测试的各种场景的抓包分析;比如Wireshark,专注于调试网络问以及和分析网络协议包分析...
  然而,今天我要给大家分享的一款抓包工具叫做Charles,同样也是一个抓包神器!
  Charles是一款的抓包修改工具,其实也是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。
  它是用Java编写的,能支持Win体验可以使用免费试用版本,试用时间为30天。试用期过后每次只能试用30分钟,并且每次启动也会有延时。
  Charles主要功能非常丰富,包括:
  1、截取HTTP和HTTPS网络协议
  2、支持重发网络请求,方便后端调试
  3、支持网络请求的截获并动态修改
  4、支持网络请求的截获并动态修改
  5、支持模拟网络
  下载安装包
  去Charles的官网,下载这个工具的安装包:
  https://www.charlesproxy.com/download/
  安装
  双击这个安装包,并且一路next即可完成安装。
  运行软件
  安装完成之后,找到这个文件的桌面快捷方式。
  双击打开即可运行软件。
  打开即可看到如上图的界面。
  设置代理
  如开头讲到的,Charles是通过将自己设置为电脑或者浏览器的代理从而达到抓包的目的的。
  所以设置代理是在菜单栏【Proxy】—【windowsProxy】,勾选即可。
  设置为代理之后,就可以开始抓取数据包了。
  视图
  从工具打开后的主页面可以发现,Charles主要提供两种查看封包的视图,分别名为“Structure”和“Sequence”。
  1、Structure视图将网络请求按访问的域名分类
  这种视图我个人认为非常方便阅读和查找数据报文,因为同一个域名的所有新增请求都会添加到这个域名类中,而不会因为数据包过多而导致不方便查找的问题。
  2、Sequence视图将网络请求按访问的时间排序
  这个视图跟其他的抓包工具就基本类似了。这种视图的一个弊端就是数据包过多会不太方便查找。
  过滤安装包
  Charles也考虑到了数据包过多不方便查找的问题,所以提供了网络请求过滤功能。通过过滤监控指定服务器的请求。
  要设置Charles数据包的过滤,有三种方法:
  方法一:在主界面的中部的Filter栏中填入需要过滤出来的关键字。
  例如我们的服务器的地址是:http://www.lemfix.com/,那么只需要在Filter栏中填入"lemfix'即可。回车后即可过滤出对应的数据包。
  方法二:抓完包之后,在想过滤的网络请求上右击,选择“Focus”,之后在Filter一栏勾选上“Focus”一项,如下图所示:
  这样可以快速地过滤出去一些不关心网络请求(收起到otherhosts里),只显示我选中的数据包。
  方法三:在Charles的菜单栏选择“Proxy”–>“RecordingSettings”,然后选择Include栏,点击“add”新增加一个项目,然后填入需要监控的协议(如http),主机地址(想过滤的域名或者IP),端口号。
  配好之后,点击OK。这样就可以只截取目标网站的封包了。如下图所示:
  通常情况下,第一、二种方法可以用于临时性包过滤,如果有些服务器是你经常性访问的,可以用方法三设置为常规过滤规则。
  经过以上的步骤,就可以使用Charles工具开始愉快的抓包了!
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号