一、charles的使用1.1 charles的说明Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
Charles的主要功能:
(1)截取Http 和 Https 网络封包。
(2)支持重发网络请求,方便后端调试。
(3)支持修改网络请求参数。
(4)支持网络请求的截获并动态修改。
(5)支持模拟慢速网络。
1.1.1 charles的下载和安装1、安装包的下载
(1)进入官网下载地址:https://www.charlesproxy.com/download/
接着可以根据自己电脑的配置下载需要的版本,不过下载下来都是只有30天的试用版。
PS:Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
破解办法:
// Charles Proxy License
// 适用于Charles任意版本的注册码,谁还会想要使用破解版呢。
// Charles 4.2目前是最新版,可用。
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
本方法通杀charlse系列激活问题。
1.1.2 charles与手机/电脑的连接
1 charles与手机端的连接使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。(同一个路由器下电脑和手机会自动分配内网ip)
(1)首先利用cmd -ipconfig命令查看自己电脑的ip地址(当然看好你用的是路由器还是以太网的ip)
(2)然后在手机端的wifi代理设置那里去进行相关的配置设置。这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。(以我的华为手机为例,在wifi设置处长按已连接的同一局域网wifi然后点设置更改,点击“显示高级选项”,设置“代理”为手动,然后主机名写刚才电脑上的ip,端口8888,最后保存)
配置完成,会看到一个charles与手机端的连接提示弹窗,选择allo即可。
(3)手机端抓包https上述1、2步骤,只针对http请求。由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。
a.电脑端证书下载(点击之后一直下一步至完成)
b. 完成后点击第三个选项“安装证书到一个Mobile上”,点击后出现第二幅图,手机端证书下载在设备上打开这个网址 chls.pro/ssl !!!(此时注意每个人的网址可能是不一样的) 安装 Charles SSL 证书。注意,同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。
PS:ios手机,需要信任该证书
C.相关配置
选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据。
1.1.2.2 charles与电脑端的连接由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。 注意:
(1)Charles支持抓去http、https协议的请求,不支持socket。(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)
(2)防火墙关掉
1.1.2.3 过滤请求通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:方法一:在主界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:www.baidu.com,那么只需要在 Filter 栏中填入www.baidu.com即可。
方法二:在Charles的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:
通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。
方法三:在想过滤的网络请求上右击,选择“Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:这种方式可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求。
以上就是本人对charles的学习及使用,祝你们应用一次测试成功!
灵感来源:https://www.jianshu.com/p/fb2bdde5b498