- Charles:HTTP请求响应监听工具使用说明.doc
1. 介绍
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信.这些包括request,response现HTTP headers (包含cookies与caching信息)。
Charles是一个简单的基于HTTP协议传输的调试工具,在开发和测试工作扮演着重要的角色。
Charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等优势。
注意:该软件在特殊情况下会出现劫持浏览器导致无法浏览网页的问题(请谨慎使用)。
2. 下载与安装
l 首先需要下载java的运行环境支持。
l http://www.charlesproxy.com下载charles或者去百度搜索并下载charles的破解版
3. 显示模式
charles抓包的显示,支持两种模式,Structure和Sequence,其优点分别如下。
3.1 Structure模式
Structure模式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。
3.2 Sequence模式
Sequence模式如下图 优点:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。
4.PC端数据包抓取
pc端可以使用Charles抓取http、https协议的请求,不支持socket。charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。这里打开百度抓包下,工具界面和相关基础功能如下图所示:
上图中的7个位置是最常用的几个功能。
1. 那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。
2. 那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。
3. 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。这个是charles工具很方便的一个两点,一般都使其为不显示抓去状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。
4. 编辑修改功能,可以编辑修改任意请求信息,修改完毕后点击Execute就可以发送一个修改后的请求数据包。
5. 抓取的数据包的请求地址的url信息显示。
6. 抓取的数据包的请求内容的信息显示。
7. 相应数据内容信息的显示
其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态。
5.其它常用功能
5.1请求重发功能
选择请求后,右键可以看到一些常用的功能,这里说说Repeat 就是重复发包一次。然后Advanced Repeat就是重复发包多次,这个功能用来测试短信轰炸漏洞很方便。
5.2指定录制、排除录制功能
打开Proxy –> Proxy Settings
l 指定录制
l 排除录制
6.charles使用问题汇总
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浏览器代理位置的勾选去掉。