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

Posted tricy-nmb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试必备工具之最强抓包神器 Charles,你会了么?相关的知识,希望对你有一定的参考价值。

前言

? 作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷;比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析;比如Wireshark,专注于调试网络问以及和分析网络协议包分析...然而,今天我要给大家分享的一款抓包工具叫做Charles,同样也是一个抓包神器!

? Charles是一款的抓包修改工具,其实也是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。它是用Java编写的,能支持Win体验可以使用免费试用版本,试用时间为30天。试用期过后每次只能试用30分钟,并且每次启动也会有延时。

? Charles主要功能非常丰富,包括:

1、截取HTTP和HTTPS网络协议

2、支持重发网络请求,方便后端调试

3、支持修改网络请求参数

4、支持网络请求的截获并动态修改

5、支持模拟网络

下载安装包

去Charles的官网,下载这个工具的安装包:https://www.charlesproxy.com/download/

技术图片
 

 

安装

 

技术图片
 

 

双击这个安装包,并且一路next即可完成安装。

运行软件

安装完成之后,找到这个文件的桌面快捷方式 ,

技术图片
 

,双击打开即可运行软件。

 

 

技术图片
 

 

打开即可看到如上图的界面。

设置代理

如开头讲到的,Charles是通过将自己设置为电脑或者浏览器的代理从而达到抓包的目的的。所以设置代理是在菜单栏【Proxy】—【windows Proxy】,勾选即可。

 

技术图片
 

 

设置为代理之后,就可以开始抓取数据包了。

视图

从工具打开后的主页面可以发现,Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。

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

这种视图我个人认为非常方便阅读和查找数据报文,因为同一个域名的所有新增请求都会添加到这个域名类中,而不会因为数据包过多而导致不方便查找的问题。

 

技术图片
 

 

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

这个视图跟其他的抓包工具就基本类似了。这种视图的一个弊端就是数据包过多会不太方便查找。

技术图片
 

 

过滤数据包

Charles也考虑到了数据包过多不方便查找的问题,所以提供了网络请求过滤功能。通过过滤监控指定服务器的请求。

要设置Charles数据包的过滤,有三种方法:

方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://www.lemfix.com/ , 那么只需要在 Filter 栏中填入"lemfix‘即可。回车后即可过滤出对应的数据包。

 

技术图片
 

 

方法二:抓完包之后,在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上“Focus” 一项,如下图所示:

 

技术图片
 

 

这样可以快速地过滤出去一些不关心网络请求(收起到other hosts里),只显示我选中的数据包。

方法三:在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,点击“add”新增加一个项目,然后填入需要监控的协议(如http),主机地址(想过滤的域名或者IP),端口号。配好之后,点击OK。这样就可以只截取目标网站的封包了。如下图所示:

 

技术图片
 

 

通常情况下,第一、二种方法可以用于临时性包过滤,如果有些服务器是你经常性访问的,可以用方法三设置为常规过滤规则。

经过以上的步骤,就可以使用Charles工具开始愉快的抓包了!

以上是关于测试必备工具之最强抓包神器 Charles,你会了么?的主要内容,如果未能解决你的问题,请参考以下文章

网络抓包神器-Charles使用指南

软件测试必须掌握的抓包工具Wireshark,你会了么?

强烈推荐APP破解常用工具集合!最强总结

史上最强Charles抓包

史上最强 Charles 抓包!

使用Charles进行移动APP抓包分析