Charles

作者: 故里里 | 来源:发表于2022-03-10 19:48 被阅读0次

    一、抓包概述

    1. 抓包概念

    抓包是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全等。下面小编就介绍几种抓包软件。

    2. 常见抓包工具

    Charles、fiddler、wireShark

    测试为什么要学习Charles抓包?

    (1)能够使用Charles来分析前后端问题

    (2)能够使用Charles模拟弱网测试环境

    (3)能够使用Charles的断点构建异常的测试场景

    二、Charles简介

    1. 什么是Charles

    Charles中文名字青花瓷,是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。

    特点:跨平台、半免费

    免费版本:一是启动等待十秒才能启动,二是半小时重启一次

    2. Charles工作原理

    2.1 原理

    截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求

    接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容

    2.2 原理图

    3. Charles主要功能

    (1)支持HTTP/HTTPS代理

    (2)支持流量控制

    (3)支持接口并发请求

    (4)支持重发网络请求,方便后端调试

    (5)支持断点调试

    (6)支持修改网络请求参数

    (7)支持网络请求的截获并动态修改

    (8)支持模拟慢速网络

    4. Charles优点(相对Fiddler)

    (1)Charles能够支持Linux、macOS,fiddler不支持

    (2)Charles支持按域名和按接口查看报文,简洁明了

    (3)Charles支持反向代理,fiddler不支持

    (4)Charles网络限速可选择网络类型,选择3G、4G、5G等

    (5)Charles可以解析AMF协议,一般用不到

    三、安装与配置

    1.Charles安装

    (1)官网下载:https://www.charlesproxy.com

    (2)双击,下一步即可(傻瓜式安装)

    2.Charles组件介绍

    主导航栏、抓到的接口、请求内容、响应内容

    2.1  主导航栏介绍

    2.2  请求栏介绍

    3.Charles设置

    3.1  代理设置

    Proxy → Proxy Settings → 端口号(8888)

    Proxy → Accept Control Settings → 勾选

    3.2  客户端设置

    电脑设置 → 代理服务器 → 手动 127.0.0.1:8888

    3.3  手机端设置

    (1)同网

    (2)打开WiFi → 高级 → 手动设置 → 主机地址(ipconfig):8888

    (3)Charles弹框 → deny、allow

    (4)手机联网抓包

    四、证书安装

    1.web证书安装

    1.1  安装:

    help → SSL Proxying → install charles root certificate → 安装证书、选择“当前用户”、点击下一步 → 选择“将所有证书都存放下列存储”,点击“浏览” → 选择“受信任的根证书颁发机构”,点击“确定” → “下一步” → “完成”

    1.2  证书导出

    help → SSL Proxying → save → 路径、修改证书名字和后缀

    1.3  证书导入

    打开浏览器 → 设置 → 安全 → 管理证书 → 导入 → 下一页 → 浏览、保存好证书 → 下一页 → 选择“受信任的根证书颁发机构” → 完成

    E浏览器:设置 → Internet选项 → 内容 → 证书 → 导入 → 下一步 → 选择证书 → 选择所有证书都放入下列存储(P) → 浏览,选择“受信任的根证书颁发机构” → 下一步 → 完成。

    chrome浏览器:设置 → 管理证书(安全) → 导入 → 下一步 → 选择证书 → 选择所有证书都放入下列存储(P) → 浏览,选择“受信任的根证书颁发机构” → 下一步 → 完成。

    2.Chales HTTPS代理配置

    证书安装之后发现还是乱码和unknown,需要配置代理

    五、Charles常用功能

    1. 过滤不必要的网络包

    方式一:

    选择Proxy->Recording Settings菜单,然后在include栏添加需要抓取包的指定服务器请求协议、地址、端口号,也可以在exclude栏添加不抓取包的地址。

    include:能抓取到的

    exclude:不能抓取到的

    方式二:

    在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://blog.csdn.net, 那么只需要在 Filter 栏中填入 csdn 即可。

    注意:通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。

    2. 断点替换/修改数据

    2.1  方式一:

    1.右击接口链接,选择“BreakPoints”

    2.在浏览器刷新对应接口的页面

    3.此时会自动跳转到Charles并显示出接口请求信息

    4.点击“Edit Request”,修改请求信息,点击“Execute”

    5.点击“Edit Response”

    6.在数据格式兰中选择合适的显示格式,比如“json”

    7.修改对应的数据,点击“Execute”

    8.回到浏览器查看数据应该为修改之后的response的信息

    2.2  方式二:

    (1)Proxy → Breakpoint settings...中手动新建/启用某个断点;

    要求勾选enable breakpoints之后当下次再有该请求时,会自动进入断点模式

    (2)新建断点

    (3)刷新浏览器

    (4)点击“Edit Request”,修改请求信息,点击“Execute”

    (5)查看数据

    3.模拟慢网速

    (1)Proxy → Throttle Settings...

    (2)添加请求 → 勾选  → 选择网速

    (3)返回浏览器查看

    4.压测服务器

    依次点击tools → Repeat Advanced

    5.模拟404

    (1)Tools → Block List

    (2)允许启用黑名单功能,选择接口返回错误的形式(404 或者403),添加接口地址并保存

    (3) 选中需要返回404/403的接口,点击【ok】

    (4)返回浏览器查看

    相关文章

      网友评论

          本文标题:Charles

          本文链接:https://www.haomeiwen.com/subject/uhafdrtx.html