Charles功能介绍和使用教程
目录
一、Charles简介
二、Charles界面
三、Charles菜单介绍
Proxy菜单
Tools 菜单
四、Charles 使用教程
通过 Charles 进行 PC 端抓包
通过 Charles 进行移动端抓包
通过 Charles 进行 HTTPS 抓包
一、Charles简介
Charles 是在 PC 端常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles还可以分析 Https 协议。
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles 主要的功能包括:
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
二、Charles界面
工具导航栏中提供了几种常用工具:
1):清除会话
2):开始/停止抓取会话
3):开启/关闭限流
4):开启/关闭断点
5):编辑会话,然后可执行
6):重新发一个请求
7):验证会话
8):工具
9):配置(Proxy配置等)
三、Charles菜单介绍
Charles 的主菜单包括:File
、Edit
、View
、Proxy
、Tools
、Window
、Help
。用的最多的主菜单分别是 Proxy
和 Tools
。
Proxy菜单:
Charles 是一个 HTTP 和 SOCKS 代理服务器。代理请求和响应使 Charles 能够在请求从客户端传递到服务器时检查和更改请求,以及从服务器传递到客户端时的响应。Proxy 菜单的视图如下图所示:
Proxy 菜单包含以下功能:
- Start/Stop Recording:开始/停止记录会话。
- Start/Stop Throttling:开始/停止节流。
- Enable/Disable Breakpoints:开启/关闭断点模式。
- Recording Settings:记录会话设置。
- SSL Proxying Settings:SSL 代理设置。
- Throttle Settings:节流设置。
- Breakpoint Settings:断点设置。
- Reverse Proxies Settings:反向代理设置。
- Port Forwarding Settings:端口转发。
- Proxy Settings:代理设置。
- Access Control Settings:访问控制设置。
- External Proxy Settings:外部代理设置。
- Web Interface Settings:Web 界面设置。
Recording Settings(记录会话设置)
Recording Settings 和 Start/Stop Recording 配合使用,在 Start Recording 的状态下,可以通过 Recording Settings 配置 Charles 的会话记录行为
Recording Settings 有 Options
、Include
、Exclude
三个选项卡:
Options:通过 Recording Size Limits 限制记录数据的大小。当 Charles 记录时,请求、响应头和响应体存储在内存中,或写入磁盘上的临时文件。有时,内存中的数据量可能会变得太多,Charles 会通知您并停止录制。在这种情况下,您应该清除 Charles 会话以释放内存,然后再次开始录制。在录制设置中,您可以限制 Charles 将记录的最大大小; 这根本不会影响你的浏览,Charles 仅会停止录制。
Include:只有与配置的地址匹配的请求才会被录制。
Exclude:只有与配置的地址匹配的请求将不会被录制。
Include
和 Exclude
选项卡的操作相同,选择 Add
,然后填入需要监控的Procotol、Host 和 Port等信息,这样就达到了过滤的目的。
Throttle Settings(节流设置)
Throttle Settings 和 Start/Stop Throttling 配合使用,在 Start Throttling 的状态下,可以通过 Throttle Settings 配置 Charles 的网速模拟配置。Throttle Settings 的视图如下图所示:
勾选 Enable Throttling 启用网速模拟配置,在 Throttle Preset 下选择网络类型即可,具体设置可以根据实际情况自行设置。如果只想模拟指定网站的慢速网络,可以再勾选上图中的 Only for selected hosts
项,然后在对话框的下半部分设置中增加指定的 hosts 项即可。
Throttle Settings 视图中的选项含义如下:
- Bandwidth:带宽
- Utilistation:利用百分比
- Round-trip:往返延迟
- MTU:字节
Breakpoint Settings(断点设置)
Breakpoint Settings 和 Enable/Disable Breakpoints 配合使用,在 Enable Breakpoints 的状态下,可以通过 Breakpoint Settings 配置 Charles 的断点模式。Breakpoint Settings 的视图如下图所示:
勾选 Enable Breakpoints 启用断点模式,选择 Add
,然后填入需要监控的Scheme、Procotol、Host 和 Port 等信息,这样就达到了设置断点的目的。然后可以来观察或者修改请求或者返回的内容,但是在这过程中需要注意请求的超时时间问题。或者可以在某个想要设置断点的请求网址上右击选择 Breakpoints 来设置断点。
Web Interface Settings(Web 界面设置)
Web Interface Settings 表示 Web 界面设置。Charles 有一个 Web 界面,可以让您从浏览器控制 Charles,或使用 Web 界面作为 Web 服务使用外部程序。
在 External Proxy Settings 视图中勾选 Enable the web interface
选项启用 Web 界面。可以允许匿名访问,也可以配置用户名和密码。
Tools 菜单
Charles 是一个 HTTP 和 SOCKS 代理服务器,所有的请求都会经过 Charles。下面主要介绍 Charles 提供的一些实用工具。Tools 菜单的视图如下图所示:
Tools 菜单包含以下功能:
- No Caching Settings:禁用缓存设置。
- Block Cookies Settings:禁用 Cookie设置。
- Map Remote Settings:远程映射设置。
- Map Local Settings:本地映射设置。
- Rewrite Settings:重写设置。
- Black List Settings:黑名单设置。
- White List Settings:白名单设置。
- DNS Spoofing Settings:DNS 欺骗设置。
- Mirror Settings:镜像设置。
- Auto Save Settings:自动保存设置。
- Client Process Settings:客户端进程设置。
- Compose:编辑修改。
- Repeat:重复发包。
- Repeat Advanced:高级重复发包。
- Validate:验证。
- Publish Gist:发布要点。
- Import/Export Settings:导入/导出设置。
- Profiles:配置文件。
- Publish Gist Settings:发布要点设置。
四、Charles 使用教程
通过 Charles 进行 PC 端抓包
Charles 会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。只需要保证以下几点即可:
- 确保 Charles 处于 Start Recording 状态。
- 勾选 Proxy | Windows Proxy 和 Proxy | Mozilla FireFox Proxy。
通过 Charles 进行移动端抓包
手机抓包的原理,和 PC 类似,手机通过把网络委托给 Charles 进行代理与服务端进行对话。具体步骤如下:
使手机和电脑在一个局域网内,不一定非要是一个 IP 段,只要是在同一个路由器下即可。
电脑端配置:
- 关掉电脑端的防火墙(这点很重要)。
- 打开 Charles 的代理功能:通过主菜单打开 Proxy | Proxy Settings 弹窗,填入代理端口(端口默认为
8888
,不用修改),勾选Enable transparent HTTP proxying
。 - 如果不需要抓取电脑上的请求,可以取消勾选 Proxy | Windows Proxy 和 Proxy | Mozilla FireFox Proxy。
手机端配置:
- 通过 Charles 的主菜单 Help | Local IP Address 或者通过命令行工具输入
ipconfig
查看本机的 IP 地址。 - 设置代理:打开手机端的 WIFI 代理设置,输入电脑 IP 和 Charles 的代理端口。
- 通过 Charles 的主菜单 Help | Local IP Address 或者通过命令行工具输入
设置好之后,我们打开手机上的任意需要网络请求的程序,就可以看到 Charles 弹出手机请求连接的确认菜单(只有首次弹出),点击 Allow 即可完成设置。
完成以上步骤,就可以进行抓包了。
通过 Charles 进行 HTTPS 抓包
HTTPS 的抓包需要在 HTTP 抓包基础上再进行设置。需要完成一下步骤:
- 完成 HTTP 抓包配置。
- 电脑端安装 Charles 证书:通过 Charles 的主菜单 Help | SSL Proxying | Install Charles Root Certificate 安装证书。
- 设置 SSL 代理:通过主菜单打开 Proxy | SSL Proxy Settings 弹窗,勾选
Enable SSL proxying
。 - 移动端安装 Charles 证书:通过 Charles 的主菜单 Help | SSL Proxying | Install Charles Root Certificate on a Mobile Device or Remote Browser 安装证书。
- 设置好之后,我们打开手机上的任意需要网络请求的程序,就可以看到 Charles 弹出手机请求连接的确认菜单(只有首次弹出),点击 Allow 即可完成设置
- 完成以上步骤,就可以进行 HTTPS 抓包了。
iOS为例
Charles功能介绍和使用教程相关推荐
- Charles 功能介绍和使用教程
Charles 简介 Charles 是在 PC 端常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.除了在做移动开发中调试端口外,Charle ...
- Charles的功能介绍与使用教程,一学就会,不信就来试试?
Charles 是在 PC 端常用的网络封包截取工具,在做移动开发与测试工作时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.除了在做移动开发中调试端口外,Charles 也可以用 ...
- 会声会影2023最新版功能介绍及使用教程
会声会影2023在用户的陪伴下走过23余载,经过上百个版本的优化迭代,已将操作极大简易化,会声会影拥有公认的上手口碑.只需将想要的效果拖拽到轨道上,一拖一放间快速成片.操作简单,功能同样强大!会声会影 ...
- sizebox模型下载_【gts游戏】sizebox的一些功能介绍以及使用教程
一,打开游戏 1,start:开始游戏 2,load:读档 3,lan:联机用的(我也不会连⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄) 4,settings:设置(这个以后再详细介绍)二,开始游戏 第一次会进入 ...
- Photoshop 2023 Beta爱国版下载及AI绘图功能介绍和安装教程
距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年,最近该公司又再次书写了属于Photoshop的历史新篇章. 最近,Adobe 宣布 Photoshop ...
- 商城小程序的一些功能介绍以及搭建教程
商城小程序专为线上商家打造,商城内预制各类营销方案,分销功能强大,商品管理方便,商品展示全面,还支持多商户接入.此外,在加入直播功能升级成直播带货系统后,还可助力商家在线带货,获客迅速,营销更自由. ...
- AirPods介绍|AirPods Pro 的空间音频功能介绍和开启教程
空间音频支持动态头部跟踪技术,可在您观看影片或视频时带来影院级的环绕声聆听体验,就如同声音环绕在您周围一样.即使您移动头部或设备,声场依然可以映射到屏幕上的相关演员或动作. 所需条件 AirPods ...
- 我的世界服务器群系修改,我的世界创世神教程 第五十五节修改选区的生物群系|功能介绍|难点介绍|这节...
我的世界WorldEdit创世神高级系列教程 第五十五节修改选区的生物群系.本教程由64条不同的技巧,功能介绍,难点介绍,防范措施介绍,工具介绍等组成.适合高级玩家和腐竹们来学习.这节内容给大家介绍修 ...
- Zabbix6.0使用教程 (一)—zabbix新增功能介绍1
使用zabbix的小伙伴应该都有关注到目前zabbix的大版本已经更新到了6.0,后面乐乐将会对如何使用zabbix6.0做一个使用教程的系列,大家可以持续关注,这篇我们主要聊聊zabbix6.0新增 ...
最新文章
- Ubuntu 14.04 64bit上使用IPython玩转Docker
- printf打印是字体和背景带颜色的输出的方法
- linux双网卡绑定实现冗余与负载均衡
- Shell脚本编程01:基础知识
- docker概念:用Dockerfile生成Image
- 以太坊钱包开发系列3 - 展示钱包信息及发起签名交易
- linux vim 执行shell命令行,Linux中vim和shell
- 中文WAP浏览器WapDisplayer V1.5发布
- 华为面试改革,我们该怎么跟进?
- python一次性输入多个数_python如何利用input函数输入多个参数?
- 手机自动化测试IDE之Airtest基本操作方法,学完让你解放双手
- python画roc曲线需要什么数据,Python ROC曲线绘制
- @JsonSerialize的使用
- nodejs 使用的一些http网络请求模块
- 智能科学技术导论周昌乐答案_智能科学技术导论
- C++Qt开发-单线程实现生命游戏
- 电脑关机同步服务器信息失败,电脑同步,更新时间失败,怎么处理?
- 中国成网络攻击最大受害国之一
- .Net获取公司所有员工前一天钉钉考勤记录
- 函数练习题,个人名片展示