目录

安装

配置

核心功能

Charles 设置

过滤网络请求

分析 HTTPS 包

模拟弱网

Mock 数据


安装

1、官网:https://www.charlesproxy.com/download/

从官网下载对应系统的 Charles 最新版本,双击下载的安装包,一路默认安装,安装完成会在桌面生成类似花瓶的图标。

2、注册:

Charles 是个收费软件,可以免费试用一个月。

Charles -> Help -> Register Charles

Registered name:XXX

License key:XXX

配置

*** 本文以Mac 系统为例进行讲解 ***

  1. 配置手机代理:

手机和 Mac 连接到同一个 WiFi 网络

    1. Android 系统:「以华为 P20 手机为例」
  • 设置 -> 无线和网络 -> WLAN
  • 长按当前 WiFi -> 修改网络
  • 勾选显示高级选项
  • 代理 -> 手动
  • 服务器主机名 -> 填写 Mac 的IP 地址「Mac IP 获取方法:Charles -> Help -> Local IP Address 」

  • 服务器端口 -> 8888
  • 保存
    1. IOS 系统:「以 iPhone Xs Max 手机为例」

      • 设置 -> 无线局域网
      • 点击当前连接的 WiFi
      • 最底部 HTTP 代理 -> 配置代理 -> 勾选手动
      • 服务器 -> 填写 Mac 的IP 地址「Mac IP 获取方法:Charles -> Help -> Local IP Address 」

  • 服务器端口 -> 8888
  • 存储

核心功能

  • 抓包「以 iPhone Xs Max 为例」
  1. Charles 设置

    1. Proxy -> Proxy Settings -> Port -> 8888
    2. 勾选 Support HTTP/2
    3. 勾选 Enable transparent HTTP proxying
    4. OK

  1. 手机设置代理如上「配置手机代理」步骤
  2. 打开手机上任意联网的应用,Charles 会弹出请求连接的确认菜单,点击“Allow“即可完成设置

  • 过滤网络请求

  1. 左侧底部 Filter 栏 -> 过滤关键字

  1. 在 Charles 的菜单栏选择

Proxy -> Recording Settings -> Include -> add「依次填入协议+主机名+端口号,即可只抓取目标网站的包」

  1. 切换到 Sequence,在想过滤的网络请求上右击,选择“Focus“,在 Filter 栏勾选上 Focused

  • 分析 HTTPS 包

  1. Mac 安装证书:

Help -> SSL Proxying -> Install Charles Root Certificate -> 输入系统的帐号密码,即可在钥匙串中看到添加好的证书

如果遇到证书不被信任的问题,解决办法:

Mac本顶栏 前往 -> 实用工具 -> 打开钥匙串访问 -> 找到该证书 -> 双击或右键「显示简介」-> 点开「信任」-> 选择「始终信任」

  1. Charles 设置请求允许 SSL proxying
  1. Charles 默认并不抓取 HTTPS 网络通讯的数据,若想拦截所有 HTTPS 网络请求,需要进行设置:在请求上右击选择 Enable SSL proxying

  1. Charles -> Proxy -> SSL Proxying Settings -> SSL Proxying
  2. 「添加对应的域名和端口号,为方便也可端口号直接添加通配符*」
  3. 移动端安装证书
  1. Charles 选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

  1. 确保手机连上代理的情况下,在手机浏览器栏输入:chls.pro/ssl,下载证书,完成安装。
  2. Android tips:
    1. 小米机型请注意,如果是 MIUI 9 以上的版本,请不要用自带浏览器下载证书,自带浏览器下载的证书文件格式不对,无法安装,uc 浏览器下载没有问题。
    2. 若不能直接安装,需要下载下来,到手机设置 -> 安全 -> 从设备存储空间安装 -> 找到下载的证书 .pem 结尾的 -> 点击安装即可
  3. IOS tips:

IOS 需要设置手机信任证书,详见 官方文档。若不能直接安装,需在手机「设置」-> 通用 -> 描述文件与设备管理安装下载的证书,完成安装后 -> 找到关于本机 -> 证书信任设置,打开刚安装的证书的开关。

抓包内容遇到乱码,解决如下:

Proxy -> SSL Proxy Settings -> Add

Host:*「代表所有网站都拦截」

Port:443

保存后,在抓包数据就会显示正常

  • 模拟弱网

  1. 选择 Proxy -> Throttle Settings -> 勾选 Enable Throttling -> 选择 Throttle Preset 类型

  • Mock 数据

  1. 以 map local 为例,修改返回值

选择目标请求,右键选择 Save All保存请求的 response 内容到本地文件

  1. 配置 Charles Map Local,Tool -> Map Local -> 勾选 Enable Map Local -> Add 「添加目标请求及需要替换的response 文件地址」-> OK

2. 用文本编辑器打开保存的 json 文件,修改内容,进行替换。打开客户端应用重新请求该接口,返回的数据就是本地的文件数据。


至此,Charles 的常用功能讲解完毕,有问题或有建议的朋友欢迎评论。

抓包神器 Charles 使用教程详解相关推荐

  1. Android 抓包神器Fidder使用方法详解:下载,安装,配置,使用教程

    场景: 抓取任何一款手机App的请求连接 问题: 1:有什么好的抓包软件? 2:Fidder怎么使用? 解决方法: 1,常见的抓包软件 (1)Fiddler是位于客户端和服务器端的HTTP代理,也是目 ...

  2. 抓包工具 Charles使用教程---抓取接口数据

    1.抓包工具 Charles下载地址:https://xclient.info/s/charles.html#versions 2.使用教程:https://www.jianshu.com/p/fc2 ...

  3. 【测试】 抓包工具 Charles 使用教程

    文章目录 简介 Charles 实现原理 安装Charles Charles 主界面 Charles 抓包教程 PC端抓包 移动端抓包 HTTPS 抓包 Charles 常用功能 重复请求 模拟弱网 ...

  4. 抓包工具 Charles使用教程

    1.抓包工具 Charles Charles下载地址 转载:使用教程 参考文献: Charles使用教程及Https乱码解决 Charles手机安装证书 Charles官网 我们先开宗明义,把问题解决 ...

  5. 抓包神器 Charles

    公司很多小伙伴对抓包功能不是很了解,来份教程. charles 介绍 Charles 是一个 HTTP 代理/HTTP 监视器/反向代理,使开发人员能够查看其计算机和 Internet 之间的所有 H ...

  6. Charles4.6.2版本手机抓包设置,抓包失败的解决方法详解

    一.Charles手机抓包设置 第一步:设置Charles为允许状态,并设置好接入的接口 在Charles的菜单栏选择"Proxy"->"Proxy Setting ...

  7. Fiddler抓包6-get请求(url详解)

    前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行.有些get请求会带有参数,本篇详细介绍url地址格式. 一. ...

  8. 网络抓包神器-Charles使用指南

    转:http://blog.csdn.net/liulanghk/article/details/46342205 1.概述 Charles是目前最强大的http调试工具,在界面和功能上远胜于Fidd ...

  9. 手机安装pem_抓包神器Charles的配置安装与弱网测试,你会了吗?

    本文来自牛鹭学院学员:丁孟辉.陈金金 注意:在开发移动端项目没有网页的情况下,可以使用Charles抓取数据进行分析. 概念 Charles是一款Http代理服务器和Http监视器,当移动端在无线网连 ...

最新文章

  1. java字节流6_JavaIO流之字节流
  2. PHP中date函数月和日带0问题
  3. linux下查看文件命令小结
  4. 详解虚函数的实现过程之菱形继承修罗场(6)
  5. 《失控玩家》爆火背后:什么才是拥抱人工智能的正确姿势?
  6. 我理解的Hanlder--android消息传递机制
  7. 自动化运维 python 批量监控服务器_1、python自动化运维——监测服务器状态
  8. python调用手机蓝牙_米家生态出品,易锁宝蓝牙U型锁,让开锁更灵活
  9. 二分法查找——C++代码
  10. 让你的网页更精彩 - Javascript 调用MSAgent (转)
  11. Nachos 用户进程地址分配
  12. windows查看WIFI无线网络密码
  13. 扬州大学复试1301软件工程【自制题库个人复习用】
  14. 如何在文件夹中打开cmd命令窗
  15. win7 IE中使用svg时利用symbol的方式出现卡死现象
  16. 如何分分钟成为Java嵌入式开发人员
  17. html5 canvas 椭圆,html5中怎么利用Canvas绘制椭圆
  18. 03从变量PS1到centos7配置文件到变量。转义字符介绍
  19. C语言基础-数组逆序输出
  20. js实现刷新页面的方法

热门文章

  1. OpenSIPS 3.1 开发手册(二)--SIP消息及Opensips配置文件
  2. Python Behave框架学习
  3. Android 获取手机的 IMEI 值 (设备标识码)
  4. 2022年最新江西水利水电施工安全员考试题库及答案
  5. C语言 setitimer函数
  6. 支付宝服务商第三方代发布小程序
  7. Dialog 宽度占满全屏
  8. Go开发中配置一个Logger日志的功能实现(结合zap日志库)
  9. 可视门铃竟然可以泄露WiFi密码
  10. ​争夺00后社交,QQ、B站、快手谁能赢?