一、Charles原理
•对Http进行抓包,对手机设置代理,转发
•对Https进行抓包,使用的原理就是中间人技术(man-in-the-middle),Charles会动态生成一个使用自己根证书签名的证书,Charles接收web服务器的证书,而客户端浏览器/客户端 接收Charles生成的证书,以此客户端和Charles之间建立Https连接,Charles和Web服务器之间建立Https连接,实现对Https传输信息的抓包。如果Charles根证书不被信任则无法建立Https连接,所以需要添加Charles根证书为信任证书。
Charles官网地址(有乱码需要自己改):https://www.charlesproxy.com/download/
个人收藏版(稳定版-无乱码版本):
https://share.weiyun.com/kHk6wILv
二、Charles破解
破解方法1:通过替换Charles.jar破解
下载地址: https://www.zzzmode.com/mytools/charles/
1、输入RegisterName(此名称随意,用于显示 Registered to xxx)
2、选择本地已安装的版本,点击生成,并下载Charles.jar文件
3、Mac安装地址:替换本地 /Applications/Charles.app/Contents/Java 目录下的Charles.jar文件
Windows安装地址:替换本地安装目录下的charles.jar文件
破解方法2:通过验证License Key破解
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
重启Charles,点击Tools -> help,第二栏显示Registered to xxx, 即破解成功!(破解成功后的charles在启动时,左下角的倒计时也没有了)
Charles破解成功
三、设置抓取https协议
1、Proxy端口设置
选中“Charles -> Proxy -> Proxy Settings”,设置Port为8888,选中“Enable transparent HTTP proxying”选项;
Charles代理的端口
2、在弹框中选择“Grant Privileges”信任;如果点击“Not Yet”或者关闭按钮,Charles将会取消Mac代理,需要手动设置,设置时会再次弹出窗口;
3、SSL证书-安装与信任三种证书:钥匙串根证书,模拟器证书,手机和浏览器证书
选择安装 Help -> SSL Proxying -> 以下证书:
Install Charles Root Certificate; #钥匙串根证书,选择始终信任
Install Charles Root Certificate on a Mobile Devices Or Remote Browser #手机和浏览器证书,在弹框提示下安装手机ssl证书到手机
手机安装地址:chls.pro/ssl,直接在手机浏览器的地址栏输入,安装允许就好了,下载的文件需要改后缀.pem为.crt;
打开钥匙串,Charles Proxy CA证书,一开始是不被信任的;选择始终信任;
4、SSL代理和端口号设置
https请求被拦截:https请求会显示unkonwn 就是不能解析https请求;
(1)Proxy-> SSL Proxying Settings->SSL Proxying,选中"Enable SSL Proxying";
(2)添加host,端口号为443。这里是把所有的host都设置进去;当然也可以设置指定的host,端口不变;
(3)请求就可以解析出来了
四、手机连接Charles配置
注意:手机的无线网要和电脑的无线网保持一致,必须是同一wifi;
五、Charles抓包工具断点修改返回内容
在structure窗口,在要打断点的数据右键选择“Breakpoints”
在对目标服务器进行访问,此时会跳转到Breakpoints TAB页面,对目标服务器进行仿真,让charles抓取服务器返回内容信息,如下图:
在Edit Response中可以对服务器返回内容进行修改。点击”Execute”进行提交,超级方便。
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
admin | 100.00 | 0 | 2020-06-10 10:10:54 | 后门自检。 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.