Charles抓包工具从零开始使用教程
一、为什么使用charles
前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到。很多时候都是如此,如果一个方案不行,肯定要有替代方案的。于是,想到了charles来进行抓包,也就是换一个工具完成了想做的事。
二、下载地址
三、web抓包
Charles Web抓包非常简单,启动Charles会自动与浏览器设置成代理,不需要进行过多的设置。
接下来我就就是通过浏览器发送网络请求,Charles就会直接抓取到这些信息和响应信息。
1、抓取HTTPS协议
对于抓取https协议的包,和fiddler是一样的,要进行对应的配置设置。
2、Charles下配置
1、点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击【install Charles Root Certificate 】安装Charles根证书即可;
这里由于用的笔记本截图快捷键问题,没法截取,这里截取证书安装,证书安装一直下一步就可以。
2、点击【Proxy】–>【SSL Proxying Settings…】
3、在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】。
在Host输入【*】表示接收任何主机,在Prot输入【443】最后点击【ok】保存****
四、App抓包
1、电脑端配置:
1,启动安装好的Charles抓包工具;
2,点击【Help】–>【local IP Address】获取下ip地址,也可以直接通过电脑自带的CMD命令来获取电脑IP【ipconfig】
3、点击【Proxy】–>【Proxy Settings】我们在设置下端口号,默认即可,具体视自己电脑环境设置
2、手机端设置:
- 打开手机的设置页面;
- 选择【无线局域网】;
- IOS点击连接的WIFI后面的感叹号,安卓应该是长按连接的WIFI;(注:这里主要以IOS为例)
- 点击【配置代理】–>【手动】;
- 输入本机【IP地址(192.168.1.75)】以及端口号【9999】,这是我本机的,根据自己情况合理配置;
- 点击【存储】
接下里验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,那是我们没有安装针对手机端的证书,下面继续我们手机端HTTPS证书安装
3、抓取手机HTTPS协议
通过上面的设置,虽然来自我们手机端的Http协议请求可以抓取到,但是HTTPS协议的包是不能抓取的,需要安装配置证书才可以,现在手机上大多数都已经切到https很少由http协议的了
4、Charles配置:
1、点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书即可;
2、点击安装【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书即可;(这里和上面安装一样)
五、Charles过滤
通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:
方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://ceshi.com, 那么只需要在 Filter 栏中填入 ceshi 即可。
方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:
六、弱网测试
Charles配置弱网设置 1、点击【Proxy】–>【Throttle Setting】
2、勾选上【Enable Throttle】,也可以勾选【only for selected host 】 设置一个指定注解访问进行网络限制,不影响其他软件;
3、在【Throttle preset】选择常见预设的网络情况,也可以在【Bandwidth】自己设置网络的上传和下载速率
七、打断点篡改数据
在我们的测试场景中,可能需求修改请求参数或者返回参数进行测试,比如支付方面的接口,涉及用户登陆权限的接口参数 这里就不再举例了;
八、修改请求数据
1、选择请求会话右键勾选【Breakpoints】这是我们会发现工具栏有个六边形按钮已经变为红色
2、设置断点,点击菜单栏【proxy】勾选【Breakoint Setting …】这是会弹出断点设置弹窗;
3、在弹出的断点设置弹窗,双击想打断点的接口,进行断点编辑;
4、编辑断点,如果修改Request数据,九江Request勾选,如果修改Response数据,就将Response勾选,当然你也可以都勾选;
5、在手机上重新进行请求,Charles 会自动进行拦截并跳转到请求数据修改页面;
这时,服务端给我们返回的数据就是有关jmeter的数据了
九、重复发送请求
在我们的测试工作中,可能你会发先一个bug,开发会让你在操作一遍,他要查看日志经i选哪个定位分析,这时候,在客户端上进行操作一遍就会麻烦,这是直接用Charles 发送一遍重复的请求就可以了,并且,重新发送请求也可以帮助我们进行功能测试;
选择需要重新发送请求的会话上,直接点击工具栏【重新按钮】
Compose编辑接口
在我们的测试工作中,可能需要发送不同的参数进行请求。选择需要修改的请求,右键选择【Compose】这时多出一个笔的请求;
十、服务器压力测试
Charles 还有一个比较有意思的功能,它能勾简单的给服务器进行压力测试;1、在进行压力测试的请求会话上右击,选择【Repeat Advanced】
2、在弹出框中,输入并发线程数以及压力次数点击进行测试
-
曾经的我,一人独自在陌生的城市工作,好在是双休,躲在自己的出租屋里,看书学习打游戏,好不安逸,唯一的遗憾就是吃不好,小区门口的小饭馆都吃遍了,始终不尽人意,人在异乡,饮食和口味适应,还是一件非常头疼的事情,时间一长,我就萌生了在家自己下厨房做饭的想法;简单采购了锅碗瓢盆之后,就开始去图书馆购买了几本[详细]
-
1、韭菜又叫起阳草,味道非常鲜美,还有独特的香味。2、 今天就来分享一下“韭菜盒子”做法,喜欢的朋友可以先收藏,有空自己试一下。3、下面开始介绍所需要的食材:韭菜、面粉、粉丝、鸡蛋、食盐、水淀粉、老抽、白醋、味精、蚝油4、韭菜放入盆中用清水清洗干净,再放到流水底下彻底冲洗干净,然后沥干水分。大盆中放[详细]
-
铜钱草除了可以土培,还可以水养,它的生长速度相当快,水培时只需用一根铜钱草就能长出一整盆。不过用来水培的铜钱草一定要是健康无病的。下面详细介绍一下铜钱根茎的水培过程。1.插穗挑选铜钱草水培时生长速度很快,可以在母株里选择一根长势良好的根茎,单独剪出来,不用担心一根会水培不成功,只要适应了新环境,很快[详细]
-
孩子的成长发育往往是我们作为家长最为关心的事,但是现在许多孩子都十分的挑食,导致他们的营养跟不上,这可让我们作为家长的操碎了心,但是大家别担心,最近小编发现了一道菜品,十分的适合孩子吃,还特别 的有营养。海带和“它”是绝配,不腥不腻补钙好吸收,牛奶大骨头都要靠边站。“它”是什么呢?它就是排骨。排骨的[详细]
-
括括 kuò(guā):左右结构,左收右展。左部“扌”旁斜势抗肩,左伸右收,不要写宽。横画露锋起笔,大扛肩,勿长;竖钩起笔稍重,向下略左斜,从短横右部穿过,中间略细,略弯,劲挺有力,到位后跪笔弹锋出钩,钩不可大;提笔起笔左探,切笔后向右上方提笔出锋,过竖笔即止。右部“舌”字不要写宽,平稳端庄。平撇起[详细]