charles下载 抓包工具Charles 4.5.6下载、注册与配置
- 跳转官网下载下载点击免费下载
一、史上最强Charles抓包教程(全)
内容清单
Charles的简介
安装Charles
Charles初始化设置
过滤网络请求
截取HTTP/HTTPS数据
模拟弱网环境
修改网络请求
修改服务器返回内容
服务器压力测试
反向代理
解决与翻墙软件的冲突
Charles的简介Charles是目前最主流的网络调试工具(Charles、Fiddler、Wireshark...)之一,对于一个开发者来说与网络打交道是日常需求,因此很多时候我们需要调试参数、返回的数据结构、查看网络请求的各种头信息、协议、响应时间等等。所以了解Charles并使用它
Charles通过将自己设置为系统的网络访问代理服务器,这样所有的网络请求都会通过它,从而实现了网路请求的截获和分析。
Chareles不仅可以分析电脑本机的网络请求(HTTP和HTTPS),还可以分析移动端设备的网络请求。
Charles是收费软件,作者开发出这样一个方便开发者使用的伟大工具,我们鼓励使用正版软件,但是对于一些囊中羞涩或者学生来说,有破解版的更好,别担心,这些我都准备好了,下一个section会讲解如何下载安装。
安装Charles方式1:Charles官网地址,根据你的电脑操作系统选择合适的下载方式。此时下载下来的是需要收费的,不差钱的同学当然可以直接购买。购买链接
方式2:按照方式1的方式去官网下载,然后下载相应JAR包。这里以MAC为例,打Finder,选择应用程序,选中Charles,右击并选择“显示包内容”,看到Contents目录,点击进去选择Java文件夹,将下载下来的JAR包拖进去替换。至此,完成了Charles的破解。
Charles初始化设置Charles的工作原理是将自身设置为系统的代理服务器来捕获所有的网络请求。所以使用Charles,我们必须设置Charles为系统的代理服务器。
打开Charles,当第一次启动的时候如果没有购买或者没有破解,会有倒计时,之后会看到软件的主界面,然后会请求你赋予它为系统代理的权限。点击授权会让你输入当前系统用户的密码。当然你也可以忽略或者拒绝该请求,然后等想要抓包的时候将它设置为系统的代理服务器。步骤:**选择菜单中的“Proxy”->"MacOSXProxy"。**如下图:
模拟弱网环境在平时开发的时候我们经常需要模拟弱网环境,并作弱网环境下的适配工作。Charles为我们提供了这个服务。
在Charles菜单栏选择“Proxy”->"ThrottleSettings"。在弹出的面板上设置网络请求的参数(上行,下行带宽、利用率、可靠性等等信息)。如下图所示。
如果你想对指定主机进行弱网环境下的测试,可以点击上图的“Add”按钮,在弹出的面板上设置协议、主机、端口来对指定的主机进行弱网设置。
如下所示,我将一个网络请求的内容映射到我本地的一个JSON文件。之后这个请求的内容都从网络变为返回我本地的数据了。
MapLocal可能会存在一个小缺陷,其返回的HTTPResponseHeader与正常的网络请求不一样,如果程序设置了校验Header信息,此时MapLocal就会失败,解决办法是同时使用Rewrite功能将相关的HTTP头部信息rewrite成我们需要的信息
Rewrite功能Rewrite适合对某个网络请求进行正则替换,以达到修改结果的目的。
假如我的App的界面上的显示的功能模块及其点击事件是根据接口来完成的,我想实现替换功能模块的名称的目的。步骤:点击顶部菜单栏的**“Tools”->"Rewrite"**。在弹出的面板上勾选“EnableRewrite”。点击左下角的Add按钮,在右上角的**Name:**处写好本次配置的名称(如果有多个Rewrite,为了后期容易区分)。
可以针对特定的网络请求进行Rewrite。可以点击右上角Location面板下面的Add按钮。在弹出的面板上设置网络请求配置信息。注意此时需要同时设置Protocol、Port、Host、Path信息(我测试加了Protocol、Host、Port这3个是无效的)
然后对指定的Type和Action进行Rewrite。
Type主要有AddHeader、ModifyHeader、RemoveHeader、Host、Path等等。
Where可以选择Request和Response。指的是下面的修改是针对Request还是Response
完成设置后点击Apply按钮,即可生效。下次继续请求该网络,返回的内容就是我们刚刚设置的内容。比如当前的“政策法规”要变成“哈哈哈,我是假的政策法规”。这时候就可以使用Rewrite功能
Breakpoints功能Breakpoints相比于其他几个修改网络请求的特点是只是针对当前的网络请求,Breakpoints只存在于设置过的当前的网络请求,Charles关闭后下次打开Breakpoints消失了。想要修改网络请求Breakpoints步骤最简单,跟我们调试工具里面设置的断点一样方便。
对于我们设置了Breakpoints的网络请求,Charles会在下次继续访问该请求的时候停止掉,就跟debug一样。此时我们可以EditRequest,修改过Request之后点击右下角的Execute按钮。然后等到服务端返回的时候继续是断点状态,此时可以EditResponse。步骤:选中某个网络请求->右击->点击“Breakpoints”。
如下图:对该接口设置了Breakpoints。请求网络后EditResponse,点击execute后服务端返回的结果就是我们编辑的内容了。
服务器压力测试我们可以使用Charles的Repeat功能地对服务器进行并发访问进行压力测试。步骤:**选中某个网络请求->右击->RepeatAdvanced->在弹出的面板里面设置总共的迭代次数(Iterations)、并发数(Concurrency)->点击“OK”。**开始执行可以看到以设置的并发数的规模,进行总共达设置的总共迭代次数的访问。(专业的压力测试工具:LoadRunner)
反向代理Charles的反向代理功能允许我们将本地指定端口的请求映射到远程的另一个端口上。设置:点击顶部菜单栏Proxy->点击ReverseProxies。
如下所示,我将本地的8080端口映射到远程的80端口上,点击OK生效后,当我继续访问本地的80端口,实际返回的就是远程80端口的提供的内容了。
解决与翻墙软件的冲突Charles的工作原理是把自己设置为系统的代理服务器,但是我们开发者经常会利用VPN翻墙访问谷歌查找资料(这些翻墙软件的工作原理也是把自己设置成为系统的代理服务器),为了2者和平共处。我们可以在Charles的ExternalProxySettings中将翻墙的代理端口等信息填写。同时我们需要关闭翻墙软件的自动设置,更改为**“手动模式”**。(使其不主动修改系统代理)
总结Charles功能强大、界面简洁,读完这篇文章并做出练习,相信你能很快掌握它,“工欲善其事,必先利其器”,掌握了它,相信可以为你大大提高开发中调试网络的效率。
二、抓包工具Charles 4.5.6下载、注册与配置
【官网地址】
(速度比较慢)
【网盘地址】
charles-proxy-4.5.6-win64.msi 提取码:hc0h
直接用这个版本也没有问题,用这个版本则可以跳过注册,直接看配置
charles 4.2.7中文破解版(win+mac) 提取码:tmtm
不注册的话会出现每30分钟就断开的情况。我们这里分两种注册方式:
一是官方最新版本通过注册码激活。
二是通过4.2.7版本的破解补丁激活。
1、安装好后,进入help--->Register Charles,在弹出框中输入如下信息
2、出现如下图所示信息,则注册成功。
安装Charles 4.2.7版本,此版本破解比较多,安装此版本软件后通过破解补丁破解,再覆盖安装新版本,直接为注册后的状态。
这里配置主要解决两个问题:①访问带https网站被拦截问题。②访问带https网站出现乱码问题。
1、进入help--->SSL Proxying--->Install Charles Root Certificate
2、进入后,出现如下窗口,根据窗口提示,安装进相应位置。提示为将该证书安装到”受信任的根证书颁发机构“
3、点击安装证书,出现如下窗口,选择“本地计算机”,点击"下一步"。
4、进入如下窗口后,选择“将所有的证书与都放入下列存储”,并通过“浏览”选择存储位置。根据之前的提示,这里我们需要选择存储到“受信任的根证书颁发机构”。
5、继续按照提示点击下一步,直到出现如下窗口提示,则证书安装成功。
如果证书位置安装错误想删除或者想查看安装的证书,可以通过控制面板--->搜索“证书”--->管理计算机证书
找到之前安装的位置,会出现此目录下所有证书,此时可以选择删除之前安装错误的证书或者查看相关证书。
安装好后的Charles打开有的页面显示为乱码,这是因为https网页的请求默认不解析,所以会呈现乱码状态。但是我们可以通过设置让Charles来解析https网页.
1、Proxy--->SSL Proxying Settings
2、进入设置窗口,按照下图所示进行设置。星号代表后面出现的任意Host,port设置443。
3、设置好后重启软件,刷新一下百度首页。这时就可以正常抓取百度首页并解析。
三、charles 手机安装证书无下载提示
1.手机通过charles提示浏览器收入chls.pro/ssl无弹框提示,可能造成的原因是,在手机上配置完代理后,第一次进行网络访问,这时charles会出现一个提示,大体上意思是,是否允许charles作为手机的网络请求代理”的这一步,可能由于个人疏忽charles弹窗点击Allow,没有进行操作。那chls就会默认不会针对手机代理。所以,手机后续的操作都不会成功
解决办法:
若忘点击或没有弹窗,则重启电脑或在Proxy--Access Control Settings中添加:0.0.0.0/0,即可。在通过浏览器收入chls.pro/ssl进行手机证书安装。