Charles的介绍,配置与使用
简介
Charles中文名叫青花瓷
它是一款基于HTTP协议的代理服务器
通过成为客户端或者浏览器的代理
然后截取请求和请求结果达到分析抓包的目的。
特点
- 跨平台
- win
- linux
- mac
- 半免费
- 启动等待
- 运行30分钟会强制重启
原理
前置步骤
- 需要运行Charles并配置代理
- 在客户端上面需要配置代理
步骤
- 由客户端发送请求
- Charles接收再发送给服务端
- 服务端返回请求结果给Charles
- 由Charles转发给客户端
优点(相对于fiddler)
- 跨平台
- 支持按域名和按接口查看报文,简洁明了
- 支持反向代理
- Charles的网络限速可以选择网络类型
- 支持AMF协议的解析
安装与配置
安装
https://www.charlesproxy.com/download/
破解
https://www.zzzmode.com/mytools/charles/
下载完成之后,将charles.jar放到Charles的安装目录下的lib文件夹,覆盖同名文件。
组件介绍
Charles代理设置
- 获取
客户端代理设置
- Android
- win (Charles抓取本机的请求,此项会默认设置,本机之外的IP需要手动设置,如上)
应用
支持HTTP与HTTPS代理
获取 代理服务器的IP 和 代理的端口
在客户端配置代理
- 如果代理服务器与客户端为同一台主机,(即我们在客户端安装Charles作为代理服务器),相关参数会自动配置,如上图
- 否则需要我们在客户端(PC端和移动端)手动配置,(配置方法参上)
至此就可以对HTTP协议的请求进行抓包,断点调试,弱网测试,重发等操作
对于HTTPS协议的请求,我们需要在客户端安装证书,以及在代理服务器上设置SSL代理,具体方式如下
Charles抓取https报文
win证书配置
Android证书配置
- chls.pro/ssl
- 去除勾选 windows proxy,排除干扰
Charles https 代理设置
除了以上的在客户端安装证书,我们还需要带代理服务器上进行如下设置
参数解释
Filter : 过滤,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求
Overview : 查看这次请求的详细内容,例如耗时详细列车了请求开始时间、结束时间,响应开始时间、结束时间,总耗时、DNS耗时、网络延时等。
对于Size也详细列出了请求头大小、响应头大小、压缩比例等内容。
URL:进行网络请求的链接;
Status:当前状态,complete表示请求完成;
Responce Code:返回码。不同的接口,不同的请求结果,返回码都不同;
Protocol:使用的协议;
Method:请求方式,如GET请求,POST请求等;
Kept Alive:判断当前是否正在链接(活跃);
Content-Type:发送的内容类型,如这里用的是XML文本,以UTF8的方式发送;
Client Address:客户端的IP地址;
Remote Address:远程服务器的IP;
Request Start Time:请求开始的时间;
Request End Time:请求结束的时间;
Response Start Time:返回开始的时间;
Response End Time : 返回结束的时间;
Duration : 总时间;
Request Header :请求的头部大小;
Response Header:返回的头部大小;
Request : 请求发送的大小;
Response:返回数据的大小;
Total:所有数据大小;
Request Compression : 请求压缩;
Response Compression : 返回压缩;
Request : 查看请求内容(底下的Headers,Query String,Cookies,Raw。)
Headers:发送请求的头部信息;
Query String : 发送参数列表;
Cookies: 浏览器缓存;
Raw:发送的原生数据,包括了头部和参数;
Reponse : 查看响应内容
Headers:是返回的头部信息;
Text:返回信息(除去头部)后的文本;
Hex:返回信息的16进制表示;
XML:我返回的数据是XML。如果你返回的是JSON,这里就会显示JSON;
XML Text:如果你返回JSON,这里会显示JSON Text;
Raw:返回的所有原生数据,包括头部;
Summary: 查看发送数据的一些简要信息(主机,状态码,数据的类型,header和body大下,加载时间,总时间)
Chart: Summary中简要信息以图表形式展示
Notes: 其他信息
支持流量控制(弱网测试)
proxy----->throttle setting----->勾选 enabel throttling
其余参数:
utilistion 使用率
round-trip 延迟
MTU 最大传输单元
正常情况请求http://47.94.164.249/usermsg
启用弱网http://47.94.164.249/usermsg
支持断点调试
作用:用来构建异常的测试场景,修改请求及响应
- 右击接口链接,选择"Breakpoints"
- 在浏览器刷新对应接口的页面,或在导航栏 Proxy 点击breakpoints settings
- 此时会自动跳转到Charles并显示出接口请求信息
- 点击"Edit Request" ,修改请求的信息,点击"Execute"
支持网络重发请求
以代替客户端的频繁点击操作
或者通过选中需要重发的请求,
点击重新发送请求按钮,也可实现.
Charles的介绍,配置与使用的更多相关文章
- Charles界面介绍及使用方法
本随笔主要内容: 一.Charles界面介绍 二.Charles使用 1.会话(Repeat.Focus.Compare.黑白名单等) 2.模拟请求做mock,使用断点.Map或Rewrite 3.指 ...
- Charles 抓包配置
本文参考:charles 抓包配置 proxy setting (代理设置) 设置的主界面如下: 动态端口 启用动态端口选项来监听动态端口,每次查询启动时选择.这样可以避免与计算机上可能运行的其他网络 ...
- Mac下charles安装及配置
一.下载地址 https://www.charlesproxy.com/download/ 激活码 Registered Name: https://zhile.io License Key: 488 ...
- Charles系列一:Charles功能介绍、下载安装和界面简介
一:Charles主要功能介绍 Charles是一个HTTP代理/HTTP监视器/反向代理,使开发和测试人员能够查看机器和Internet之间所有的HTTP和SSL/HTTPS流量,这包括请求,响应. ...
- MySQL主从同步简单介绍&配置
介绍: 现在mysql集群基本上都是使用一主多从方式,实现读写分离(主库写.从库读).负载均衡.数据备份,以前只是使用从未配置过,今天简单配置一下! mysql主从复制是通过binary log日志实 ...
- Charles for MAC配置与使用
Charles已成为网络接口数据抓取的利器之一,无论是作为开发人员还是测试人员,在实际开发及调试中都需要通过网络数据接口的抓取来进行数据正确性的验证及异常的排查.Charles抓取网络接口数据的原理就 ...
- Charles安装及配置
安装包及jar包下载地址: 1.下载Charles Proxy v4.2.dmg镜像文件,双击打开,将Charles拖拽到Applications中,Mac中打开一次Charles后关掉. 2.将下载 ...
- centos7&redhat 之 firewalld 详细介绍配置
firewalld和iptables的关系 firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一 ...
- Nginx 介绍配置
nginx的功能和优缺点 nginx是一种服务器软件,将程序放在nginx服务器上,将程序发布出去,nginx是一种高性能的Http和反向代理服务器,同时也是一个代理邮件服务器,也可以实现负载均衡. ...
随机推荐
- MOS管的栅极和源极之间的电阻
MOS管的栅极和源极之间的电阻: 一是为场效应管提供偏置电压:二是起到泻放电阻的作用:保护栅极G-源极S: 保护栅极G-源极S: 场效应管的G-S极间的电阻值是很大的,这样只要有少量的静电就能使他的G ...
- 【Ubuntu】Ubuntu中下载特定版本内核和设置某版本内核为默认启动内核
0. 基本命令 uname -a # 查看当前所使用内核 dpkg -l | grep linux # dpkg后是lmn的l.查看当前操作系统的内核 dekg -l | grep linux-ima ...
- Java并没有衰落.大家对它的认识才刚刚开始 Java8全新出发
Java并没有衰落.大家对它的认识才刚刚开始 很高兴能在此给大家分享Java8的新特性.这篇文章将一步一步带你了解Java8的所有新特性.我将通过简单的实例代码向大家展示接口中默认方法,lambda ...
- GDBT和XGBoost
https://www.cnblogs.com/pinard/p/6140514.html https://www.cnblogs.com/liuwu265/p/4690486.html https: ...
- 性能测试之Docker监控
微服务.大中台盛行的当下,容器化已经被广泛使用.在性能测试过程中,对容器的监控模型构建也是必不可少的. 我们性能测试监控模型的构建一直是围绕着Prometheus和Grafana来展开的.她们可以快速 ...
- Rocket - 断句 - Diplomatic Design Patterns: A TileLink Case Study
https://mp.weixin.qq.com/s/afRVgTCYs1Mxu898uSmVaQ 整理一篇介绍Diplomacy和TileLink的文章. 原文链接: https://carrv ...
- Java 第十一届 蓝桥杯 省模拟赛 梅花桩
小明每天都要练功,练功中的重要一项是梅花桩. 小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1. 小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上.小 ...
- Java 第十一届 蓝桥杯 省模拟赛 递增序列
问题描述 在数列 a[1], a[2], -, a[n] 中,如果 a[i] < a[i+1] < a[i+2] < - < a[j],则称 a[i] 至 a[j] 为一段递增 ...
- Java实现 蓝桥杯 算法训练 天数计算
试题 算法训练 天数计算 问题描述 编写函数求某年某月某日(**** ** **)是这一年的第几天 .提示:要考虑闰年,闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数 ...
- Java实现 蓝桥杯 算法提高 最大值路径
试题 算法提高 最大值路径 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 刷微博,编程序.如下图所示,@北京发布 提出了如下"头脑震荡"问题.对此问题做一般化描 ...