Charles 使用教程

安装charles前端

若是是ubuntu版本:java

sudo apt-get update 
sudo apt-get install charles-proxy


1.前言:

Charles是一款抓包修改工具,一个HTTP代理服务器,HTTP监视器,反转代理服务器。它容许一个开发者查看全部链接互联网的HTTP通讯·这些包括request, response和HTTP headers (包含cookies与caching信息),界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优点!ios

2.下载与安装

下载java的运行环境支持,装好java环境后,下载charles的破解,里面通常会有注册的jar文件,直接替换安装目录lib下相同名称的jar包(ps:不注册的话,每次使用30分钟,工具就会自动关闭)。ubuntu

3.PC端抓包

下面是pc端的抓包使用状况 Charles支持抓去http、https协议的请求,不支持socket。浏览器

而后charles会自动配置IE浏览器和工具的代理设置,因此说打开工具直接就已是抓包状态了。 服务器

1 垃圾桶图标,功能是clear,清理掉全部请求显示信息。cookie

2 搜索关键字,使用ctrl+f实现,能够设置搜索的范围。数据结构

3 圆圈中间红点的图标,控制抓取的数据显示或者不显示的设置。 通常都使其为不显示抓去状态,只有当本身测试的时候,令其为抓取并显示状态。app

4 编辑修改功能,能够编辑修改任意请求信息,修改完毕后点击Execute就能够发送一个修改后的请求数据包。socket

5 抓取的数据包的请求地址的url信息显示。

6 抓取的数据包的请求内容的信息显示。post请求能够显示form形式,直观明了。

7 返回数据内容信息的显示。

其中五、六、7中都有各类形式的数据显示形式,其中raw是原始数据包的状态。

4.模式

charles抓包的显示,支持两种模式,Structure和Sequence,其优势分别以下。

Structure形式以下图 优势:能够很清晰的看到请求的数据结构,并且是以域名划分请求信息的,能够很清晰的去分析和处理数据。

Sequence形式以下图 优势:能够很清晰的看到所有请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。

具体使用哪一种形式,看我的喜爱。

5.移动APP抓包

这里相比其余抓包软件来讲要简单的多了,具体步骤以下:

(1)抓取HTTP请求

手机wifi连接设置代理为手动,代理IP为电脑IP(cmd  ipconfig查看),端口设置为Charles开启的代理接口(Proxy>>Proxy Setting)。

若是勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,若是只抓手机的话,能够将这个设置为不勾选。

(2)抓取手机HTTPS请求,需再安装证书

一、电脑端安装SSL证书,  help→ SSL Proxying→Install charles Root Certificate

若是没有做用,多是证书须要设置信任:

经过菜单——运行,输入mmc,在不受信任的证书里面找到Charles Proxy CA,剪切粘贴到受信任根证书颁发机构下便可。

2.手机端安装SSL证书,charles打开 help→ SSL Proxying→Install charles Root Certificate on a Mobile Device or Remote Browser(以下图),手机端访问标注部分chls.pro/ssl下载安装手机https证书。

注:ios用户须要设置证书信任。路径为:通用——关于本机——(下拉到最下面)证书信任设置——设置为彻底信任 便可使用

3.打开Proxy Setting(Proxy>>SSL Proxying Setting...),勾选Enable SSL Proxying,在Location部份选择add,按以下图添加,抓取任意站点、443端口的数据。

到此,Charles能够正常抓取手机端https请求。

6.地址映射 

进行接口测试,或者前端进行本地调试开发。Tools-Map Remote...打开,进行相应地址映射。

 

7.修改请求参数

右键请求,选择Breakpoints;再次发送请求过来时,会先截获请求。

至此,可正常修改请求参数,进行调试

8.其余经常使用功能

下面再说说charles的一些其余经常使用的功能

  1. 选择请求后,右键能够看到一些经常使用的功能,这里说说Repeat 就是重复发包一次。 而后Advanced Repeat就是重复发包屡次,这个功能用来测试短信轰炸漏洞很方便。
  2. 还有好比说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都很是方便。

9.charles使用问题汇总

Charles是一款很好用的抓包修改工具,可是若是你不是很熟悉这个工具的话,确定会遇到各类感受很莫名其妙的情况,这里就来帮你一一解答。

  • 1 为何下载了不能用啊?打不开啊。

由于charles是须要java环境才能运行的,须要先安装java环境才能够。

  • 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位置的ip地址设置成静态ip,而后重启charles工具。

  • 7 抓包后发现form中有些数据显示是乱码怎么办?

请在Raw模式下查看,Raw模式显示的是原始数据包,通常不会由于编码问题致使显示为乱码。

  • 8 我用charles抓手机app的数据,可是同时也会抓去到电脑端的数据,能够设置吗?

能够,设置位置在Proxy - Windows Proxy ,勾选表示接收电脑的数据抓包,若是只想抓去APP的数据请求,能够不勾选此功能。

  • 9 为何我用IE能够抓到数据,可是用360或者谷歌浏览器就不行?

请确保360或者谷歌的代码设置中是否是勾选设置的是 使用IE代理。

  • 10 想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?

请直接使用Ctrl +C 和 Ctrl+V 便可。

以上为参考网上博文,以及我的使用心得总结,可知足平常基本使用。

相关文章
相关标签/搜索