charles学习笔记(1)

嗯,先交代下我学习charles的原因吧。在上一家公司跟着开发大大后面学了fiddler这个免费的抓包工具,使用起来也算是满足了我的日常需求,于是本着差不多的理念便没有去了解过charles。后来,万幸的换了现在的公司(ps:前面一家公司不久后倒闭了),公司高大上的给配置了Mac(因此,后面主要叙述了mac的使用)。没办法,由于fiddler仅支持windows,我只能去网上荡了盗版的charles开始学习使用。

接下来的日子里我陷入了被前端大大的各种鄙视中,因为我不能很溜的使用charles配合完成测试工作,于是他大概跟我讲解了下Charles,我便开始了自学之路(ps:这年头自学挺方便的,因为到处都是教程啊!)

接下来给大家推荐几个用来学习charles的实用教程吧:
http://blog.devtang.com/2015/11/14/charles-introduction/
http://blog.chinaunix.net/uid-21633169-id-4329277.html

截止目前最新的charles版本是charles4,对比于charles3的版本,它新增的功能是:
1⃣️支持http2
2⃣️支持IPv6
charles3常用的功能:
1⃣️重发网络请求
2⃣️模拟慢速网络
3⃣️修改网络请求参数
4⃣️截取Http和https的网络封包
5⃣️截取网络请求并可以动态修改

Charles 是通过将自己设置成代理服务器来完成封包截取的,所以使用 Charles 的第一步是将其设置成系统的代理服务器。俗话说也就是如何把手机和电脑连接在一起啦~~

1.设置并启动Charles对外代理端口号

这里写图片描述

这里写图片描述

这里写图片描述

2.将移动设备置于与Mac相同的无线网内,查看当前Mac 内网地址

这里写图片描述

3.将手机 WiFi HTTP代理 设置成手动模式,并填入上方相关配置信息。即在服务器栏位输入与Mac一致的IP地址,端口输入内容8888;如果这样还是连接不上有可能是因为8888的端口号被占用了,修改下端口号就可以啦~

这里写图片描述

4.附 Charles 工作主界面
1⃣️清空按钮,清空当前页面截取的数据
2⃣️暂停/开始按钮
3⃣️弱网环境模拟
4⃣️
5⃣️自编辑请求内容和参数
6⃣️重复模拟请求
7⃣️
8⃣️购买正版
9⃣️工具栏
1⃣️0⃣️设置
1⃣️1⃣️两种视图模式:
code:响应码。常见的如下:

200是成功;
400是错误请求;
404是没有发现文件或者URL;
500:内部服务器错误;

method:请求方式,常见的请求方式有post和get两种;
host:请求的域名
path:请求的路径
Start:开始的时间
Duration:持续时间
Size:包大小
Info:请求状态
1⃣️2⃣️过滤器
1⃣️3⃣️

这里写图片描述

  1. charles使用问题汇总

Charles是一款很好用的抓包修改工具,但是使用的时候肯定会遇到各种感觉很莫名其妙的问题,下面列出一些常见问题:

1 为什么下载后打不开?
因为charles是需要java环境才能运行的,需要先安装java环境才可以。
Java: http://www.java.com/zh_CN/
2 为什么用着用着就自动关闭了?大概30分钟就会关闭一次?
因为charles如果没有注册,每打次只能打开30分钟,然后自动关闭。
所以最好在使用前先按照说明去进行工具的注册操作。
3 为什么在操作的时候工具界面卡死,关不掉,只能用任务管理器才可以关掉?
这个是charles这个工具的一个bug,按照下面那样操作就可以解决:

首先随便抓些包,要求有图片的请求。

然后选中一个图片的请求,分别点击 Response - Raw ,那里会加载其中的内容,加载完毕后做任何操作就不会有问题了。
4 为什么用了charles后,我就上不了网页了,但是qq可以。
因为如果charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,所以会导致这种情况。
解决办法:

第一种:直接打开charles,然后再正常关闭即可。
第二种:去将IE浏览器代理位置的勾选去掉。
5 为什么我用charles不能抓到socket和https的数据呢?
首先,charles是不支持抓去socket数据的。
其次,如果抓不到https的数据的话,请查看你是不是没有勾选ssl功能。
最后,看下代理设置:Proxy - Proxy Settings - SSL 设置
6 为什么我用charles抓取手机APP,什么都是配置正确的,但是却抓不到数据。
首先,请确保电脑的防火墙是关闭状态,这个很重要。
如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。
如果以上方法还是不行的话,请检查手机wifi中Http Proxy:server是否为电脑ip, port 是否8888。
7 抓包后发现form中有些数据显示是乱码怎么办?
请在Raw模式下查看,Raw模式显示的是原始数据包,一般不会因为编码问题导致显示为乱码。
8 我用charles抓手机app的数据,但是同时也会抓去到电脑端的数据,可以设置吗?
点击状态栏 Proxy -> Mac OS X Proxy 、Mozilla Firefox Proxy 这两个勾选去掉,勾选表示接收电脑的数据抓包.
如果只想抓去APP的数据请求,可以不勾选此功能,减少其他信息干扰。
9 为什么我用IE可以抓到数据,但是用360或者谷歌浏览器就不行?
请确保360或者谷歌的代码设置中是不是勾选设置的是 使用IE代理。
10 想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?
请直接使用Ctrl +C 和 Ctrl+V 即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值