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类的抓不到的就不能了,算是个小小的缺陷吧。