抓包神器 Charles 使用教程详解
目录
安装
配置
核心功能
Charles 设置
过滤网络请求
分析 HTTPS 包
模拟弱网
Mock 数据
安装
1、官网:https://www.charlesproxy.com/download/
从官网下载对应系统的 Charles 最新版本,双击下载的安装包,一路默认安装,安装完成会在桌面生成类似花瓶的图标。
2、注册:
Charles 是个收费软件,可以免费试用一个月。
Charles -> Help -> Register Charles
Registered name:XXX
License key:XXX
配置
*** 本文以Mac 系统为例进行讲解 ***
- 配置手机代理:
手机和 Mac 连接到同一个 WiFi 网络
- Android 系统:「以华为 P20 手机为例」
- 设置 -> 无线和网络 -> WLAN
- 长按当前 WiFi -> 修改网络
- 勾选显示高级选项
- 代理 -> 手动
- 服务器主机名 -> 填写 Mac 的IP 地址「Mac IP 获取方法:Charles -> Help -> Local IP Address 」
- 服务器端口 -> 8888
- 保存
- IOS 系统:「以 iPhone Xs Max 手机为例」
- 设置 -> 无线局域网
- 点击当前连接的 WiFi
- 最底部 HTTP 代理 -> 配置代理 -> 勾选手动
- 服务器 -> 填写 Mac 的IP 地址「Mac IP 获取方法:Charles -> Help -> Local IP Address 」
- IOS 系统:「以 iPhone Xs Max 手机为例」
- 服务器端口 -> 8888
- 存储
核心功能
- 抓包「以 iPhone Xs Max 为例」
Charles 设置
- Proxy -> Proxy Settings -> Port -> 8888
- 勾选 Support HTTP/2
- 勾选 Enable transparent HTTP proxying
- OK
- 手机设置代理如上「配置手机代理」步骤
- 打开手机上任意联网的应用,Charles 会弹出请求连接的确认菜单,点击“Allow“即可完成设置
过滤网络请求
- 左侧底部 Filter 栏 -> 过滤关键字
- 在 Charles 的菜单栏选择
Proxy -> Recording Settings -> Include -> add「依次填入协议+主机名+端口号,即可只抓取目标网站的包」
- 切换到 Sequence,在想过滤的网络请求上右击,选择“Focus“,在 Filter 栏勾选上 Focused
分析 HTTPS 包
- Mac 安装证书:
Help -> SSL Proxying -> Install Charles Root Certificate -> 输入系统的帐号密码,即可在钥匙串中看到添加好的证书
如果遇到证书不被信任的问题,解决办法:
Mac本顶栏 前往 -> 实用工具 -> 打开钥匙串访问 -> 找到该证书 -> 双击或右键「显示简介」-> 点开「信任」-> 选择「始终信任」
- Charles 设置请求允许 SSL proxying
- Charles 默认并不抓取 HTTPS 网络通讯的数据,若想拦截所有 HTTPS 网络请求,需要进行设置:在请求上右击选择 Enable SSL proxying
- Charles -> Proxy -> SSL Proxying Settings -> SSL Proxying
- 「添加对应的域名和端口号,为方便也可端口号直接添加通配符*」
- 移动端安装证书
- Charles 选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
- 确保手机连上代理的情况下,在手机浏览器栏输入:chls.pro/ssl,下载证书,完成安装。
- Android tips:
- 小米机型请注意,如果是 MIUI 9 以上的版本,请不要用自带浏览器下载证书,自带浏览器下载的证书文件格式不对,无法安装,uc 浏览器下载没有问题。
- 若不能直接安装,需要下载下来,到手机设置 -> 安全 -> 从设备存储空间安装 -> 找到下载的证书 .pem 结尾的 -> 点击安装即可
- IOS tips:
IOS 需要设置手机信任证书,详见 官方文档。若不能直接安装,需在手机「设置」-> 通用 -> 描述文件与设备管理安装下载的证书,完成安装后 -> 找到关于本机 -> 证书信任设置,打开刚安装的证书的开关。
抓包内容遇到乱码,解决如下:
Proxy -> SSL Proxy Settings -> Add
Host:*「代表所有网站都拦截」
Port:443
保存后,在抓包数据就会显示正常
模拟弱网
- 选择 Proxy -> Throttle Settings -> 勾选 Enable Throttling -> 选择 Throttle Preset 类型
Mock 数据
- 以 map local 为例,修改返回值
选择目标请求,右键选择 Save All保存请求的 response 内容到本地文件
- 配置 Charles Map Local,Tool -> Map Local -> 勾选 Enable Map Local -> Add 「添加目标请求及需要替换的response 文件地址」-> OK
2. 用文本编辑器打开保存的 json 文件,修改内容,进行替换。打开客户端应用重新请求该接口,返回的数据就是本地的文件数据。
至此,Charles 的常用功能讲解完毕,有问题或有建议的朋友欢迎评论。
抓包神器 Charles 使用教程详解相关推荐
- Android 抓包神器Fidder使用方法详解:下载,安装,配置,使用教程
场景: 抓取任何一款手机App的请求连接 问题: 1:有什么好的抓包软件? 2:Fidder怎么使用? 解决方法: 1,常见的抓包软件 (1)Fiddler是位于客户端和服务器端的HTTP代理,也是目 ...
- 抓包工具 Charles使用教程---抓取接口数据
1.抓包工具 Charles下载地址:https://xclient.info/s/charles.html#versions 2.使用教程:https://www.jianshu.com/p/fc2 ...
- 【测试】 抓包工具 Charles 使用教程
文章目录 简介 Charles 实现原理 安装Charles Charles 主界面 Charles 抓包教程 PC端抓包 移动端抓包 HTTPS 抓包 Charles 常用功能 重复请求 模拟弱网 ...
- 抓包工具 Charles使用教程
1.抓包工具 Charles Charles下载地址 转载:使用教程 参考文献: Charles使用教程及Https乱码解决 Charles手机安装证书 Charles官网 我们先开宗明义,把问题解决 ...
- 抓包神器 Charles
公司很多小伙伴对抓包功能不是很了解,来份教程. charles 介绍 Charles 是一个 HTTP 代理/HTTP 监视器/反向代理,使开发人员能够查看其计算机和 Internet 之间的所有 H ...
- Charles4.6.2版本手机抓包设置,抓包失败的解决方法详解
一.Charles手机抓包设置 第一步:设置Charles为允许状态,并设置好接入的接口 在Charles的菜单栏选择"Proxy"->"Proxy Setting ...
- Fiddler抓包6-get请求(url详解)
前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行.有些get请求会带有参数,本篇详细介绍url地址格式. 一. ...
- 网络抓包神器-Charles使用指南
转:http://blog.csdn.net/liulanghk/article/details/46342205 1.概述 Charles是目前最强大的http调试工具,在界面和功能上远胜于Fidd ...
- 手机安装pem_抓包神器Charles的配置安装与弱网测试,你会了吗?
本文来自牛鹭学院学员:丁孟辉.陈金金 注意:在开发移动端项目没有网页的情况下,可以使用Charles抓取数据进行分析. 概念 Charles是一款Http代理服务器和Http监视器,当移动端在无线网连 ...
最新文章
- java字节流6_JavaIO流之字节流
- PHP中date函数月和日带0问题
- linux下查看文件命令小结
- 详解虚函数的实现过程之菱形继承修罗场(6)
- 《失控玩家》爆火背后:什么才是拥抱人工智能的正确姿势?
- 我理解的Hanlder--android消息传递机制
- 自动化运维 python 批量监控服务器_1、python自动化运维——监测服务器状态
- python调用手机蓝牙_米家生态出品,易锁宝蓝牙U型锁,让开锁更灵活
- 二分法查找——C++代码
- 让你的网页更精彩 - Javascript 调用MSAgent (转)
- Nachos 用户进程地址分配
- windows查看WIFI无线网络密码
- 扬州大学复试1301软件工程【自制题库个人复习用】
- 如何在文件夹中打开cmd命令窗
- win7 IE中使用svg时利用symbol的方式出现卡死现象
- 如何分分钟成为Java嵌入式开发人员
- html5 canvas 椭圆,html5中怎么利用Canvas绘制椭圆
- 03从变量PS1到centos7配置文件到变量。转义字符介绍
- C语言基础-数组逆序输出
- js实现刷新页面的方法