01
数据录制与回放概述
什么是录制回放 · 核心场景(接口/压力/迁移) · 技术选型对比
mitmproxyCharlesgoreplay
02
环境搭建与工具安装
Python3.9+ · mitmproxy安装与证书 · goreplay基础验证
环境配置证书
03
mitmproxy基础入门
启动模式(mitmproxy/mitmweb/mitmdump) · 流量拦截 · 第一个脚本
hello world拦截
04
mitmproxy脚本开发(一)
request/response钩子 · 修改请求头/响应体 · 实战添加
钩子
05
mitmproxy脚本开发(二)
流量过滤 · URL重写 · 请求重定向 · Mock第三方接口
Mock重定向
06
mitmproxy脚本开发(三)
流量存储与回放 · HAR文件 · 录制登录流程并回放
HAR回放
07
mitmproxy高级用法
WebSocket · gRPC代理 · 性能调优与并发控制
WebSocketgRPC
08
goreplay基础入门
工作原理 · 核心命令 · 第一个录制回放案例
--input-raw--output-file
09
goreplay流量录制
录制HTTP到文件 · 按大小/时间分割 · 实战录制线上API
分割线上流量
10
goreplay流量回放
文件回放 · 速率控制 · 压测回放实战
--input-file-loopworkers
11
goreplay流量过滤与修改
基于HTTP方法/URL过滤 · 请求/响应修改
--http-set-header过滤
12
goreplay高级特性
Session持久化 · ES集成 · 分布式录制 · 多节点实战
Elasticsearch分布式
13
录制回放框架设计
采集层/存储层/回放层 · 模块划分 · 核心接口定义
架构接口设计
14
数据采集模块开发
基于mitmproxy/goreplay采集器封装 · 统一采集接口
封装采集器
15
数据存储模块开发
本地文件(JSON/CSV/HAR) · 数据库(MySQL/Redis) · 消息队列(Kafka/RabbitMQ)
MySQLKafkaRedis
16
数据回放模块开发
单线程/多线程引擎 · 回放结果比对(状态码/响应体/时间)
并发Diff
17
回放结果分析
Diff算法 · 自动化断言 · HTML报告 · 线上vs测试环境差异
报告断言
18
数据清洗与预处理
去除敏感信息 · 脱敏策略 · 无效流量过滤
脱敏清洗
19
录制回放实战(一)
接口回归测试 · 录制线上API · 回放自动发现变更
回归接口变更
20
录制回放实战(二)
压力测试 · 录制高并发 · 回放压测 · 性能瓶颈分析
压测瓶颈
21
录制回放实战(三)
数据迁移验证 · 录制源库流量 · 回放目标库 · 一致性校验
迁移一致性
22
录制回放实战(四)
微服务链路追踪 · 全链路录制 · 依赖服务Mock
链路Mock
23
录制回放实战(五)
移动端API录制 · mitmproxy代理手机 · 回放验证
移动端代理
24
录制回放实战(六)
WebSocket长连接 · 录制消息 · 回放实时通信
WebSocket实时
25
录制回放实战(七)
文件上传下载 · multipart/form-data · 回放验证文件处理
上传multipart
26
录制回放实战(八)
第三方支付回调 · 录制回调请求 · 模拟成功/失败
支付回调
27
录制回放实战(九)
定时/异步任务 · 录制异步回调 · 验证任务结果
异步定时任务
28
录制回放实战(十)
全链路压测 · 录制生产流量 · 容量评估与限流验证
全链路限流
29
录制回放平台搭建
Web管理(Flask/Vue) · Celery调度 · ECharts · 权限管理
FlaskVueCelery
30
最佳实践与总结
常见问题排查 · 团队协作 · Jenkins/GitLab CI · 课程展望
CIJenkins总结