《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(1)-初识Charles

1.前言

这款工具宏哥还是按照Fiddler的思路讲解和分享,方便小伙伴或者童鞋们理解和接受。今天的主要就是讲解和分享Charles的—些理论基础知识。

2.Charles简介

Charles不仅是在Pc端(Windows、Mac和Linux各个系统)下常用的网络抓包截取工具之一,而且也是在移动端(Android和1os系统)常用的网络抓包截取工具之一。在做开发和测试时,我们为了调试客户端与服务器端的网络通讯协议,常常需要截取网络抓包来分析。

Charles和Fiddler类似的原理,通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络抓包的截取和分析。
除了在做开发和测试中调试端口外,Charles也可以用于分析第三方应用的通讯协议。配Charles的SSL功能,Charles 还可以分析Https协议。

Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为Charles强制关闭而遇到影响。

如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

3.Charles主要的功能

Charles主要的功能包括:

1.抓取Http和Https的请求和响应,抓包是最常用的了。

2.重发网络请求,方便后端调试,复杂和特殊情况下的一件重发还是非常爽的(捕获的记录,直接repeat 就可以了,如果想修改还可以修改)。

3.修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。

4.网络请求的截获和动态修改。

5.支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。

6.支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的 bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试);

7.可以抓手机端访问的资源(如果是配置HOST的环境,手机可以借用host配置进入测试环境)

4.Charles支持的操作系统

charles支持的操作系统包括:

Windows 64 bit(msi Windows 32 bit(msi)

macOS(dmg)

Linux 64 bit(tar.gz) Linux 32 bit(tar.gz)

打开浏览器访问Charles官网,下载相应系统的Charles安装包,然后安装即可:

Windows:运行安装应用程序以在程序菜单中安装Charles。

Mac OSX:通过双击解压缩下载文件,然后将Charles应用程序复制到Applications目录中。

Linux: Charles拥有APT和YUM存储库,如果你有基于Debian 或基于Red Hat的Linux发行版,这是安装Charles 的首选方法。否则,将tar:gz文件解压缩到适当的站点。如果您以前安装过Charles并且正在进行升级;首先确保Charles没有运行,然后安装或复制在以前安上。通过运行bin/charles脚本启动Charles。

5.为什么要学习Charles?

1.charles与fiddler相比,最大的优点就是跨平台。可以支持Windows,MacOs,ios,Android。

Charles是一款常用的网络抓包工具,启动Charles后,会自动开启的浏览器代理进行网络请求截取,Charles和Fiddler基本功能差不多,只是Fiddler是免费的,但是由于Fiddler是c#语言开发的前期没有MAC版,后期推出一款Fiddler Everywhere:可以运行在任何浏览器,任何系统、跨平台(Windows、Mac、Linux)的一款web调试代理工具。它记录了计算机和Internet之间的所有HTTP(S)通信,可以检查和编辑通信,并拥有Mock请求以及修改响应返回的能力。但是好不好用宏哥不知道。Charles是属于收费软件,但是功能还是都能用的,只是有时间限制。如果我们破解了就没有这一限制了。

2.在实际开发、测试过程中需要通过代理截取网络请求的报文来快速定位问题。目前项目更多采用的是https,Fiddler在这方面并不如charles好用在实际开发、测试过程中需要通过代理截取网络请求的报文来快速定位问题。目前项目更多采用的是https,Fiddler在这方面并不如Charles好用。

3.支持按域名和接口查看报文,简洁明了

4.支持反向代理

5.网络限速,可选择网络类型

6.可以解析AMF协议

6.下载与安装Charles

6.1下载Charles

官网下载: https: / / www.charlesproxy.com/具体步骤如下:

1.访问官网下载地址后,如下图所示:
 

图片

⒉.点击右上角的"DOWNLOAD",如下图所示:

图片


3.点击右上角的"DOWNLOAD"后,进入下载页面,如下图所示: 

图片

 4.选择你对应的操作系统(宏哥这里下载的是Windows的操作系统),然后点击对应的操作系统的安装包开始下载(这里默认下载的是最新版本的charles),如下图所示:

图片

 5.下载完成后,我们就开始安装Charles。

6.2安装Charles

下载完成安装包,我们开始安装Charles,具体操作步骤如下:
1.鼠标双击我们下载好的安装包,如下图所示:

 2.双击后,弹出运行界面,如下图所示:

图片

3.点击“运行"后,开始下载安装组件,如下图所示: 

4.安装组件下载完成,进入如下图所示界面:

 5.点击"Next”,勾选同意协议,点击继续点击"Next”,如下图所示:

 6.选择安装位置,然后点击“Next”,如下图所示:

 7.点击"Install”,如下图所示:

图片

 8.稍等一会,点击"Finish"完成Charles的安装。如下图所示:

 

 6.3破解Charles

因为Charles不是免费的,可以免费试用30天,但是30天后,我们就需要付费了,因此宏哥这里就提前将其破解,解决这一问题。具体操作步骤如下:

1.访问在线破解工具,在线生成激活码,地址︰https: //www.zzzmode.com/ mytools/charles/,如下图所示:

2.RegisterName任意随便起个注册的名字,如下图所示:

 

 3.点击“生成"后,生成计算出注册码,如下图所示:

4.启动打开Charles,点击Help->Registered Charles,在弹出的注册界面输入注册的用户名和注册码即可,如下图所示:

 到此,Charles的下载、安装和激活就大功告成了!

7.Charles抓包原理

Charles抓包原理和Fiddler的抓包原理都是利用了http的中间人攻击漏洞来实现的。

7.1大致原理

Charles作为一个中间人代理,在客户端给服务器端发消息的时候,会截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;服务器返回数据时将截取的数据发送给客户端,伪装成服务器与客户端进行通信。

 

 8.小结

本文介绍Charles的安装及使用,主要是浅显的探讨其抓包原理;Charles的下载及安装、激活等相关内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值