Charles的基本功能使用

第一次自己在博客园写博客,总结、学习。

Charles这工具对于ios和Android来说已经是盛名在外了,工具很实用,功能也很强大,因为工作需要研究过段时间,感谢那些博主、作者,

让我迅速学会并使用这个牛掰的Charles抓包工具。

一、破解版安装

工具好用是好用,但有个蛋疼的地方,非开源,非开源也就算了,还来个试用30分钟,当时的我就中这招了,

试用了之后发现这工具确实好用,对于测试工程师来说兼抓包定位协议类bug、设置网络阀来进行网络测试、对协议类的接口数据进行映射已修改环境及

还可以对服务器进行简单压力测试等等实用功能聚集于一身。

好吧,因为这个原因就投身于寻求最新破解版charles的“信息大海”中,完了公司有牛人直接买了正版的,哇呀呀,羡慕啊羡慕人家的财大气粗,继续寻求破解版中.......。

终于不负有心人,现在想想不知道在哪个牛掰的网站还真找到了完整的破解方法,有破解的链接:

破解版下载链接:http://charles.iiilab.com/。

破解的原理是让正版的注册那段代码的循环设为空,再一段一段找关联的代码进行修改(ps:佩服那哥们,老牛了,介于俺是代码小白,还是把那方法留给大牛们解决吧),

最后生成新的jar,诺就是这个牛掰的东东,替换正版的同jar文件,就ok了。

完整的破解的东东就是如下喽:

二、功能

俺小白因为工作的原因,只学习了一些基本的功能,希望对大家有用,也希望大伙们早日成为Charles达人。

1)网络封包截取功能

嘿嘿,也就是抓包功能,勿喷!

使用最多的功能之一,原理:Charles通过将自己设置成系统的网络访问代理服务器,使所有的网络请求都通过它,以此达到对网络封包的截取和分析。

下图就是Charles抓包的不同视图显示:

structure视图是将网络请求按访问的域名分类;

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

这个功能看个人喜爱设置。可以对get或post请求的域名、带的参数或服务端是否返回数据等等进行查看,因为app测试时会出现各种各样的问题,有时作为测试工程师的我们自己把bug原因定位到,会加快工作效率,当然也会让你显得B格更高。

对于移动端的各种app的各种请求的截取就需要更多一步的设置,设置网络代理,原理就是pc端与移动端连接同一网络如图:

对于比我还小白的小白,找不到手机网络的代理的话,这里给个通用的导航:选择终端的网络长按几秒——修改网络——下拉选择高级选项——输入如图上的信息,输入完后保存就好

这里需要注意的问题:当你设置代理使用完后,要记着关闭代理或者连接其他的网络,要不然会导致手机无网络。

顺便提一嘴,服务器主机名就是你个人电脑的ip,获取方式为:win+r——cmd——ipconfig——看IP地址。

设置后,kill掉你需要抓包的app进程,重新进入,就会在Charles上显示各种与服务器交互的请求。

 

2)过滤网络请求

在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。

如下图所示:只抓163music.com的请求

 

Charles不仅仅只抓移动端的请求,对win上运行的浏览器上的各个网页都能进行抓包

点击“Proxy——win proxy”,就能抓去win上浏览器的网页请求,如下图:

3) Map 功能

分 Map Remote 和 Map Local 两种,顾名思义,

Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。

举例,我的工作使用:

路径:tools —— map remote —— 勾选enable  map remote —— add  —— map  from输入线上服的地址 —— map  to 输入 测试的地址 —— 点击ok

就成功映射地址,自由方便的切换环境,一次映射后会记录,只需添加一次便可,反之亦然。

如图:

4)模拟网速

依次点击proxy—throttle settings—勾选enable throttling—勾选only ....

如图:

 

 可以按已设置的各种网速下的选项进行测试,能测试出被测对象网络状况不太理想的状态。

 在此,放上一张注释图

 

5)压测服务器

依次点击tools—Repeat Advanced

选择好并发线程数和打压次数,点击ok就能进行对产品的GET和POST请求进行测试服务器并发处理的性能,当然这里只是简单的进行压测,并且只能对Charles抓到的http协议的请求进行重复并发,缺点就是如TCP类的抓不到的就不能了,算是个小小的缺陷吧。

 

 

 

一不小心,这一篇写了差不多一个礼拜,中间的各种事的穿插,导致今天才完成,也许后续会对Charles的高级操作,对接口数据的抓取、分析和修改进行举例吧。当然也是从不同的各位大牛中学习,总结运用的,希望对自己对需要的人有所帮助吧。

posted @ 2017-05-23 21:38  世纪虫  阅读(23485)  评论(0编辑  收藏  举报