1. 为什么选择mitmproxy进行网络抓包
在macOS环境下进行HTTP/HTTPS流量分析时,mitmproxy凭借其独特的优势成为我的首选工具。与Wireshark这类底层抓包工具不同,mitmproxy工作在应用层,专门针对HTTP/HTTPS协议设计,提供了更直观的交互界面和更丰富的功能特性。
我最初接触这个工具是在调试一个复杂的API调用链时,当时需要精确分析请求头和响应体的变化过程。传统的打印日志方式效率低下,而mitmproxy的实时拦截和修改功能完美解决了这个问题。它不仅能捕获HTTPS流量(这在其他工具中往往需要复杂的证书配置),还能以中间人(MITM)方式动态修改请求/响应。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 安装mitmproxy
在macOS上安装mitmproxy有多种方式,我推荐使用Homebrew进行安装:
bash复制brew install mitmproxy
这会同时安装三个组件:mitmproxy(命令行交互界面)、mitmdump(类似tcpdump的命令行工具)和mitmweb(基于Web的图形界面)。
注意:如果遇到证书相关错误,可能需要先更新Homebrew本身(brew update)或检查Xcode命令行工具是否已安装。
2.2 证书配置关键步骤
要让mitmproxy能够解密HTTPS流量,必须在系统中安装其CA证书:
- 启动mitmproxy:
mitmproxy - 在终端访问http://mitm.it
- 选择"macOS"图标下载证书
- 双击证书文件,在"钥匙串访问"中找到该证书
- 右键选择"显示简介" → "信任" → 将"使用此证书时"设为"始终信任"
我遇到过的一个典型问题是:即使安装了证书,某些应用(如Chrome)仍然会报证书错误。这是因为:
- Chrome使用了自己的证书存储
- 某些应用启用了证书固定(Certificate Pinning)
解决方法:
bash复制# 对于Chrome,启动时需要添加参数
open -a Google\ Chrome --args --ignore-certificate-errors
3. 核心功能实战演示
3.1 基础抓包操作
启动
