2、环境搭建与工具安装:Python3.9+环境配置、mitmproxy安装与证书配置、goreplay安装与基础验证

说实话,做数据录制与回放,最怕什么?

怕环境没搭好,折腾半天发现是工具的问题。

我刚开始搞这套流程的时候,光证书配置就卡了两天。后来总结出一套「稳如老狗」的安装流程,今天全部分享给你。

2.1 Python3.9+ 环境配置

为什么强调 3.9+?因为 mitmproxy 从 8.0 开始就要求 Python 3.9 以上了。你想想看,装了半天发现版本不对,多闹心。

我个人习惯用 pyenv 管理多版本 Python,但如果你只是做这个课程,直接装一个 3.9 或 3.10 就行。

推荐版本:Python 3.9.13 或 3.10.11

这两个版本经过大量项目验证,兼容性最好。

Windows 安装步骤

  1. 去 python.org 下载对应版本的安装包
  2. 安装时记得勾选 Add Python to PATH
  3. 打开 cmd 验证:python --version

macOS / Linux 安装步骤

  1. 用 Homebrew 安装:brew install python@3.9
  2. 或者用 pyenv:pyenv install 3.9.13
  3. 验证:python3 --version

小技巧:安装完后顺手建个虚拟环境。我习惯用 python -m venv venv,这样后面装 mitmproxy 不会污染全局。

2.2 mitmproxy 安装与证书配置

mitmproxy 是咱们录制数据的核心工具。说白了,它就是个中间人代理,能拦截、查看、修改 HTTP/HTTPS 流量。

安装其实很简单,一行命令搞定:

pip install mitmproxy

等它装完,验证一下:

mitmproxy --version

如果能看到版本号,恭喜你,第一步成了。

证书配置——这块容易踩坑

为什么要配证书?因为 mitmproxy 要解密 HTTPS 流量。不配证书的话,你只能看到加密后的乱码。

我曾经在配置 iOS 证书时折腾了一下午,最后发现是没信任描述文件。嗯,这里我把步骤给你捋清楚。

Windows / macOS 证书安装
  1. 启动 mitmproxy:终端输入 mitmproxy
  2. 浏览器访问 http://mitm.it
  3. 下载对应系统的证书文件
  4. 双击安装,选择「受信任的根证书颁发机构」
移动端证书安装(Android / iOS)
  1. 手机设置代理为电脑 IP,端口 8080
  2. 浏览器访问 http://mitm.it
  3. 下载对应平台的证书
  4. Android:设置 → 安全 → 从存储设备安装
  5. iOS:设置 → 通用 → 关于本机 → 证书信任设置 → 开启信任

注意:Android 7.0 以上默认不信任用户证书。你需要 root 或者把证书装到系统分区。我建议用 Android 模拟器做测试,省心很多。

2.3 goreplay 安装与基础验证

goreplay 是流量回放的神器。它能抓取线上的真实流量,然后原封不动地打到测试环境。

安装方式很简单,去 GitHub 下载对应系统的二进制文件就行。

下载与安装

# Linux / macOS
wget https://github.com/buger/goreplay/releases/download/v1.3.3/gor_1.3.3_linux_amd64.tar.gz
tar -xzf gor_1.3.3_linux_amd64.tar.gz
sudo mv gor /usr/local/bin/

# 验证
gor --version

Windows 用户直接下载 exe 文件,放到一个 PATH 目录下就行。

基础验证——跑一个最简单的例子

咱们先验证 goreplay 能不能正常工作。打开两个终端:

终端 1:启动一个测试服务

# 用 Python 快速起一个 HTTP 服务
python -m http.server 8080

终端 2:启动 goreplay 录制

gor --input-raw :8080 --output-stdout

然后在浏览器访问 http://localhost:8080,你会看到终端 2 里打印出了 HTTP 请求的详细信息。

看到输出就说明 goreplay 安装成功了。就是这么简单。

2.4 本章知识体系总览

下面这张图帮你理清三个工具之间的关系:

环境搭建与工具链总览 Python 3.9+ 基础运行环境 mitmproxy 数据录制(抓包) goreplay 流量回放 核心流程: 1. Python 3.9+ 提供基础运行环境 2. mitmproxy 录制线上/测试环境的 HTTP/HTTPS 流量 3. goreplay 将录制的流量回放到目标服务器 注意:mitmproxy 需要正确配置证书才能解密 HTTPS 流量 goreplay 支持流量放大、限速等高级功能(后续章节会讲)

2.5 避坑指南——我踩过的那些坑

  • 证书不生效:我曾经在 Windows 上装了证书但浏览器不认,后来发现是没把证书放到「受信任的根证书颁发机构」里。双击安装时记得选对位置。
  • 端口被占用:启动 mitmproxy 时提示端口被占用,用 lsof -i :8080 查一下谁在用,或者换个端口。
  • goreplay 没输出:检查一下是不是用 sudo 运行的。goreplay 抓取原始流量需要 root 权限。
  • Python 版本冲突:虚拟环境是你的好朋友。别偷懒,每次项目都新建一个 venv。

我的建议:环境搭建这块别着急,一步一步来。每装完一个工具就验证一下,别等三个全装完再调试。那样出了问题你都不知道是哪个环节的锅。

好了,环境搭好了,工具也验证通过了。下一章咱们就开始真正录制数据了。

可可精品资料库