Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它容许一个开发者查看全部链接互联网的HTTP通讯.这些包括request,response现HTTP headers (包含cookies与caching信息)。java
Charles是一个简单的基于HTTP协议传输的调试工具,在开发和测试工做扮演着重要的角色。浏览器
Charles具备界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等优点。 服务器
注意:该软件在特殊状况下会出现劫持浏览器致使没法浏览网页的问题(请谨慎使用)。微信
l 首先须要下载java的运行环境支持。cookie
l http://www.charlesproxy.com下载charles或者去百度搜索并下载charles的破解版数据结构
charles抓包的显示,支持两种模式,Structure和Sequence,其优势分别以下。socket
Structure模式以下图 优势:能够很清晰的看到请求的数据结构,并且是以域名划分请求信息的,能够很清晰的去分析和处理数据。ide
Sequence模式以下图 优势:能够很清晰的看到所有请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。工具
pc端可使用Charles抓取http、https协议的请求,不支持socket。charles会自动配置IE浏览器和工具的代理设置,因此说打开工具直接就已是抓包状态了。这里打开百度抓包下,工具界面和相关基础功能以下图所示:测试
上图中的7个位置是最经常使用的几个功能。
1. 那个垃圾桶图标,功能是clear,清理掉全部请求显示信息。
2. 那个望远镜图标,功能是搜索关键字,也可使用ctrl+f实现,能够设置搜索的范围。
3. 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。这个是charles工具很方便的一个两点,通常都使其为不显示抓去状态,只有当本身测试的时候的先后,在令其为抓取并显示状态。这样能够快准狠的获取到相关本身想要的信息,而没必要在一堆数据请求中去寻找。
4. 编辑修改功能,能够编辑修改任意请求信息,修改完毕后点击Execute就能够发送一个修改后的请求数据包。
5. 抓取的数据包的请求地址的url信息显示。
6. 抓取的数据包的请求内容的信息显示。
7. 相应数据内容信息的显示
其中5、六、7中都有各类形式的数据显示形式,其中raw是原始数据包的状态。
选择请求后,右键能够看到一些经常使用的功能,这里说说Repeat 就是重复发包一次。而后Advanced Repeat就是重复发包屡次,这个功能用来测试短信轰炸漏洞很方便。
打开Proxy –> Proxy Settings
l 指定录制
l 排除录制
Charles是一款很好用的抓包修改工具,可是若是你不是很熟悉这个工具的话,确定会遇到各类感受很莫名其妙的情况,常见问题说明以下。
1. 为何下载了不能用?打不开啊。
由于charles是须要java环境才能运行的,须要先安装java环境才能够。
2. 为何我用着用着就自动关闭了?大概30分钟就会关闭一次。
由于charles若是没有注册的话,每次打开后就只能哟个30分钟,而后就会自动关闭,因此最好在使用前先按照说明去进行工具的注册操做。
3. 为何我用charles不能抓到socket和https的数据呢?
charles是不支持抓去socket数据的。若是抓不到https的数据的话,请查看你是否是没有勾选ssl功能。Proxy –> Proxy Settings –> SSL 设置
4. 抓包后发现form中有些数据显示是乱码怎么办?
请在Raw模式下查看,Raw模式显示的是原始数据包,通常不会由于编码问题致使显示为乱码。
5. 为何我用IE能够抓到数据,可是用360或者谷歌浏览器就不行?
请确保360或者谷歌的代码设置中是否是勾选设置的是 使用IE代理。
6. 想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?
请直接使用Ctrl +C 和Ctrl+V 便可。
7. 为何用了charles后,我就上不了网页了,可是qq能够。
由于若是charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,因此会致使这种状况。
解决办法:
第一种:直接打开charles,而后再正常关闭便可。 第二种:去将IE浏览器代理位置的勾选去掉。