charles的使用
charles的说明
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
Charles的主要功能:
(1)截取Http 和 Https 网络封包。
(2)支持重发网络请求,方便后端调试。
(3)支持修改网络请求参数。
(4)支持网络请求的截获并动态修改。
(5)支持模拟慢速网络。
charles的下载和安装
1、安装包的下载
(1)进入官网下载地址:http://www.charlesproxy.com/,点击链接下载30天免费试用版本。
(2)云盘中文破解免费版:链接: https://pan.baidu.com/s/1PgqzfYmAiOUdDmonDai1aA 密码: azsb
PS:Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
https://www.zzzmode.com/mytools/charles/ 将补丁包charles.jar下载并覆盖到charles的lib文件下即可
charles与手机/电脑的连接
charles与手机端的连接
首先手机设置代理
设置手机代理:Ip查看Mac的ip,端口与charles一致。应该保证手机和电脑在同一wifi中吧
手机连接好charles后,会有提示,只需要点击“allow”
https协议抓包
安装SSL证书到手机设备,点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device
在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装,
安装完成后,在 设置→通用→关于本机→证书信任设置,里面启用完全信任Charles证书
这样手机端的包就抓取成功了。
注意:在Android7.0上抓包失败,可能是android安全策略问题,暂时无法解决。
另外,在电脑上安装证书如下:
电脑抓包
电脑设置代理,ip与charles一致,端口也一致
设置成功后,charles会有提示弹出框,选择同意,就可以进行抓包了
过滤网络请求
Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。可以根据具体的需要在这两种视图之前来回切换。
Structure:视图将网络请求按访问的域名分类。
Sequence:视图将网络请求按访问的时间排序。
Charles 提供了简单的 Filter 功能,输入关键字来快速筛选出 URL 中带指定关键字的网络请求。对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles 可以自动帮你将 JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles 可以显示出图片的预览。
通常情况下,需要对网络请求进行过滤,只监控指定服务器的请求。有3种办法:
方法一:在主界面的中部的 Filter 栏中输入需要过滤出来的关键字。例如我们的服务器的地址是:http://www.jianshu.com , 那么只需要在 Filter 栏中输入 jianshu 即可。
方法二:菜单栏选择 “Proxy”->”Recording Settings”,在弹出的窗口中选择 Include 栏,再点击“Add”,在弹出的窗口中输入需要监控的协议,主机地址,端口号等信息,来添加一个项目。如下图所示: