mitmproxy 是一套开源的 HTTP/HTTPS 交互式抓包代理工具,支持请求拦截、修改、回放等功能,适用于接口调试、协议分析等场景。本文按 macOS、Windows、App(Android 模拟器) 三大平台,分别介绍从环境搭建到抓包使用的完整流程。
工具概览
mitmproxy 安装后提供三个命令行工具:
| 工具 | 说明 |
|---|---|
mitmproxy | 终端交互界面(类 vim 操作) |
mitmweb | Web 图形界面(推荐),浏览器可视化查看请求 |
mitmdump | 命令行模式,适合脚本自动化和流量导出 |
三者共享同一套核心代理功能,只是前端展示不同,根据自身需求选择即可。
一、macOS 平台
1.1 安装 Python
mitmproxy 和后续的 Frida 等工具依赖 Python 环境。mitmproxy 12.x 要求 Python ≥ 3.12(11.x 支持 Python 3.10+),建议直接安装 Python 3.12+。
方式一:pyenv 多版本管理(推荐)
通过 pyenv 可以方便地管理多个 Python 版本,避免与系统自带版本冲突。
详细安装教程请参考:Mac pyenv 多版本管理
# 安装 pyenv(如果还没有)
brew install pyenv
# 安装指定 Python 版本
pyenv install 3.12.0
# 设置全局版本
pyenv global 3.12.0
# 验证
python --version
pip --version
方式二:Homebrew 直接安装
brew install python
# 验证
python3 --version
pip3 --version
1.2 安装 mitmproxy
方式一:Homebrew 安装
brew install mitmproxy
方式二:pip 安装
pip install mitmproxy
网络慢可使用国内镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mitmproxy
验证安装:
mitmproxy --version
1.3 启动代理服务
# Web 图形界面(推荐)
mitmweb -p 8888
# 或终端界面
mitmproxy -p 8888
mitmweb 启动后会自动打开浏览器访问 http://127.0.0.1:8081,可在网页上实时查看所有请求和响应。
1.4 配置系统代理
打开 系统设置 → 网络 → Wi-Fi → 详细信息 → 代理:
- 勾选 Web 代理(HTTP) 和 安全 Web 代理(HTTPS)
- 代理服务器地址填
127.0.0.1,端口填8888 - 点击「好」保存
也可通过命令行快速设置:
# 开启代理 networksetup -setwebproxy Wi-Fi 127.0.0.1 8888 networksetup -setsecurewebproxy Wi-Fi 127.0.0.1 8888 # 关闭代理(抓包结束后) networksetup -setwebproxystate Wi-Fi off networksetup -setsecurewebproxystate Wi-Fi off
1.5 安装 CA 证书(HTTPS 明文抓包需要)
没装证书也能拦截到接口吗? 可以。HTTP 请求正常抓取,HTTPS 请求也会出现在 mitmweb 中,但由于客户端不信任 mitmproxy 的 CA 证书,TLS 握手会失败,终端会报
Client TLS handshake failed错误,无法查看 HTTPS 的明文请求和响应内容。安装证书后即可正常解密 HTTPS 流量。
方式一:通过 mitm.it 安装(推荐)
http://mitm.it 是 mitmproxy 内置的证书分发页面,仅在流量正常通过 mitmproxy 时才能访问(否则会显示 "traffic is not passing through mitmproxy")。页面上提供了所有平台的证书下载,每个平台都附带 Show Instructions 按钮,点击可查看对应平台的详细导入步骤。
- 确保代理已开启且 mitmproxy 正在运行
- 浏览器打开
http://mitm.it(注意是 http 不是 https) - 点击 macOS 图标,下载
mitmproxy-ca-cert.pem - 双击打开证书,macOS 会弹出「钥匙串访问」
- 在「钥匙串访问」中找到 mitmproxy 证书 → 双击 → 展开「信任」
- 将「使用此证书时」改为 「始终信任」
- 关闭窗口,输入密码确认
方式二:命令行安装
# 首次启动生成证书(启动后 Ctrl+C 退出即可)
mitmproxy
# 将证书添加到系统钥匙串并设为信任
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain \
~/.mitmproxy/mitmproxy-ca-cert.pem
验证证书安装
打开 钥匙串访问 → 搜索 mitmproxy,确认证书存在且显示「此证书已标记为受所有用户信任」。
配置完代理和证书后,浏览器访问任意网页,mitmweb 界面就能看到完整的 HTTPS 请求了。
1.6 抓包结束后清理
# 关闭系统代理(重要!否则关掉 mitmproxy 后无法正常上网)
networksetup -setwebproxystate Wi-Fi off
networksetup -setsecurewebproxystate Wi-Fi off
二、Windows 平台
2.1 安装 Python
推荐方式:Python 官方安装包
mitmproxy 12.x 要求 Python ≥ 3.12(11.x 支持 Python 3.10+)。如果 Python 版本低于 3.12,
pip install --upgrade mitmproxy会静默停留在 11.x 而不会升级到 12,请注意安装对应版本。
详细安装教程请参考:Windows Python 安装教程
- 前往 Python 官网 下载安装包(建议 3.12+)
- 安装时务必勾选 「Add Python to PATH」
- 安装完成后打开终端验证:
python --version
pip --version
Python 安装支持所有系统环境(macOS / Windows / Linux),上述两篇教程分别针对 Mac 和 Windows 提供了更详细的安装步骤。
2.2 安装 mitmproxy
方式一:官方安装包(推荐)
- 前往 mitmproxy 官网 下载 Windows Installer(
.exe) - 安装完成后
mitmproxy、mitmdump、mitmweb自动加入 PATH - 推荐安装 Windows Terminal 改善终端显示效果
方式二:pip 安装
pip install mitmproxy
网络慢可使用国内镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mitmproxy
验证安装:
mitmproxy --version
2.3 启动代理服务
打开 CMD 或 PowerShell:
# Web 图形界面(推荐)
mitmweb -p 8888
# 或终端界面
mitmproxy -p 8888
启动后浏览器自动打开 http://127.0.0.1:8081。
2.4 配置系统代理
打开 设置 → 网络和 Internet → 代理 → 手动设置代理:
- 开启「使用代理服务器」
- 地址填
127.0.0.1,端口填8888 - 点击「保存」
排除列表中默认的
localhost;127.*等是正常的,不影响外部网站抓包。如果需要抓本地服务的请求,需要从排除列表中移除对应地址。
2.5 安装 CA 证书(HTTPS 明文抓包需要)
没装证书也能拦截到接口吗? 可以。HTTP 请求正常抓取,HTTPS 请求也会被拦截到,但由于客户端不信任 mitmproxy 的 CA 证书,TLS 握手会失败,终端会看到
Client TLS handshake failed. The client disconnected during the handshake... the client does not trust the proxy's certificate的错误,无法查看 HTTPS 的明文内容。安装证书后即可正常解密。
方式一:通过 mitm.it 安装(推荐)
http://mitm.it 是 mitmproxy 内置的证书分发页面,仅在流量正常通过 mitmproxy 时才能访问。页面上提供所有平台的证书下载和导入教程,点击 Show Instructions 可查看对应平台的详细步骤。
- 确保代理已开启且 mitmproxy 正在运行
- 浏览器打开
http://mitm.it(注意是 http 不是 https) - 点击 Windows 图标,下载
mitmproxy-ca-cert.p12 - 双击下载的
.p12证书文件 - 点击「安装证书」
- 选择 「本地计算机」 → 下一步
- 选择 「将所有证书放入以下存储」 → 浏览 → 选择 「受信任的根证书颁发机构」
- 完成安装
方式二:PowerShell 命令行安装
以管理员身份运行 PowerShell:
# 首次启动生成证书(启动后 Ctrl+C 退出即可)
mitmproxy
# 导入证书到系统受信任根证书存储(Windows 使用 .p12 格式)
Import-PfxCertificate -FilePath "$env:USERPROFILE\.mitmproxy\mitmproxy-ca-cert.p12" -CertStoreLocation cert:\LocalMachine\Root
验证证书安装
按 Win + R 输入 certlm.msc 打开证书管理器 → 展开「受信任的根证书颁发机构」→「证书」→ 能找到 mitmproxy 即安装成功。
配置完代理和证书后,浏览器访问任意网页,mitmweb 界面就能看到完整的 HTTPS 请求了。
浏览器注意事项
- Chrome / Edge:使用系统代理和系统证书存储,配置完即可直接使用
- Firefox:默认不走系统代理,也有独立的证书存储。需要在 Firefox 中设置:设置 → 常规 → 网络设置 → 选择「使用系统代理设置」;同时在 设置 → 隐私与安全 → 证书 → 查看证书 → 导入
mitmproxy-ca-cert.pem
2.6 抓包结束后清理
回到 设置 → 代理,将「使用代理服务器」关闭。不关的话,停止 mitmproxy 后将无法正常上网。
三、App 抓包(Android 模拟器)
App 抓包需要将 mitmproxy 的 CA 证书安装到 Android 系统级信任存储中,并可能需要通过 Frida 绕过 App 的 SSL Pinning(证书锁定)。本节以 MuMu 模拟器为例。
3.1 环境准备
安装 MuMu 模拟器
- 下载安装 MuMu 模拟器 12(基于 Android 12)
- 设置中心 → 其他设置 → 开启 Root 权限
- 建议配置:4 核 CPU / 4GB 内存 / 分辨率 1080×1920
安装 Python 和 mitmproxy
根据你的电脑系统(macOS 或 Windows),参考上面对应平台的 Python 和 mitmproxy 安装步骤。
安装目标 App
3.2 生成 mitmproxy CA 证书
首次启动 mitmproxy 会自动在用户目录下生成 CA 根证书:
# 启动一次即可生成证书,Ctrl+C 退出
mitmproxy
证书生成路径:
| 系统 | 路径 |
|---|---|
| macOS | ~/.mitmproxy/ |
| Windows | C:\Users\你的用户名\.mitmproxy\ |
目录下包含以下证书文件(不同平台使用不同格式):
| 证书文件 | 适用平台 |
|---|---|
mitmproxy-ca-cert.pem | macOS / Linux / Firefox |
mitmproxy-ca-cert.cer | Android |
mitmproxy-ca-cert.p12 | Windows |
mitmproxy-ca.pem | 完整 CA(含私钥,一般不需要直接使用) |
也可以通过
http://mitm.it下载对应平台的证书(需要代理已开启且流量正在通过 mitmproxy),该页面同时提供每个平台的证书导入教程。
3.3 安装系统级 CA 证书到模拟器(Root 必需)
不装证书能抓包吗? 能拦截到接口请求,但 HTTPS 请求会 TLS 握手失败,无法查看明文内容。安装证书后即可正常解密。
为什么要装到模拟器? mitmproxy 作为中间人代理会用自己的 CA 重新签发证书,模拟器中的 App 需要信任这个 CA 才能正常解密 HTTPS。
为什么必须装到系统级? Android 7.0+ 应用默认只信任系统级证书,用户手动安装的证书不被信任。必须借助 Root 权限将证书写入系统目录
/system/etc/security/cacerts/。
步骤 1:计算证书哈希文件名
Android 系统证书目录中的文件以哈希值命名,需要用 openssl 计算:
macOS / Linux:
openssl x509 -inform PEM -subject_hash_old -in ~/.mitmproxy/mitmproxy-ca-cert.cer | head -1
Windows(Git Bash 或 WSL):
openssl x509 -inform PEM -subject_hash_old -in "$USERPROFILE/.mitmproxy/mitmproxy-ca-cert.cer" | head -1
假设输出 c8750f0d,则证书文件需要重命名为 c8750f0d.0。
请以你本机实际输出为准,不要直接复制示例值。
步骤 2:连接 MuMu 模拟器 ADB
# MuMu 12 默认 ADB 端口为 16384
adb connect 127.0.0.1:16384
# 确认连接成功
adb devices
端口不对?打开 MuMu 多开器 → 右上角 ADB 图标可查看实际端口。
步骤 3:推送证书到系统证书目录
macOS / Linux:
# 复制并重命名证书(替换 c8750f0d 为你的实际哈希值)
cp ~/.mitmproxy/mitmproxy-ca-cert.cer c8750f0d.0
Windows(Git Bash 或 WSL):
cp "$USERPROFILE/.mitmproxy/mitmproxy-ca-cert.cer" c8750f0d.0
Windows(PowerShell):
Copy-Item "$env:USERPROFILE\.mitmproxy\mitmproxy-ca-cert.cer" -Destination "c8750f0d.0"
# 推入模拟器,使用 PowerShell 完成,不要用 GitBash
adb push c8750f0d.0 /sdcard/
# 获取 root 权限(必须,否则无法挂载系统分区)
adb root
# 进入 adb shell
adb shell
# 挂载系统分区为可写(二选一,哪个成功用哪个)
mount -o remount,rw /system
# 如果上面报错,MuMu 12 尝试:
# mount -o remount,rw /
# 复制证书到系统证书目录
cp /sdcard/c8750f0d.0 /system/etc/security/cacerts/
# 设置正确的文件权限
chmod 644 /system/etc/security/cacerts/c8750f0d.0
# 退出 shell
exit
# 重启模拟器使证书生效
adb reboot
步骤 4:验证证书安装
模拟器重启后:设置 → 安全 → 加密与凭据 → 信任的凭据 → 系统 标签页 → 能看到 mitmproxy 证书即安装成功。
3.4 配置代理
查看电脑局域网 IP
# macOS
ifconfig | grep "inet " | grep -v 127.0.0.1
# Windows
ipconfig
记下本机 IP(如 192.168.1.100)。
启动 mitmproxy
mitmweb -p 8888
模拟器设置代理
- 模拟器 → 设置 → WLAN → 长按已连接的网络 → 修改网络
- 展开高级选项
- 代理选 手动
- 主机名填写电脑 IP(如
192.168.1.100),端口填8888
设置好后可打开模拟器内浏览器访问
http://mitm.it,如果能看到证书下载页面,说明代理已生效。
3.5 Frida 绕过 SSL Pinning
为什么需要这步? 许多 App 使用了 SSL Pinning(证书锁定)技术,即使安装了系统证书,App 仍会校验证书指纹并拒绝连接。必须通过 Frida 在运行时 Hook 掉校验逻辑。
如果你的目标 App 没有做 SSL Pinning,可以跳过此节,直接抓包。
电脑安装 Frida
pip install frida-tools
# 记住版本号,frida-server 必须与此版本一致
frida --version
网络慢可使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple frida-tools
模拟器安装 frida-server
# 查看模拟器 CPU 架构(MuMu 12 一般是 x86_64)
adb shell getprop ro.product.cpu.abi
如果不确定模拟器的 CPU 架构,可以参考:查看安卓模拟器设备 CPU 架构
前往 Frida Releases 下载对应版本:
- 文件名格式:
frida-server-{版本号}-android-{架构}.xz - 例如 frida 版本 16.5.6 + x86_64 架构 → 下载
frida-server-16.5.6-android-x86_64.xz
frida-tools 和 frida-server 版本必须完全一致,这是最常见的报错原因。
Release 页面资源文件很多(200+),默认不会全部展示。点击页面底部 "Show all xxx assets" 展开全部资源,然后用浏览器
Ctrl+F(Mac 为Cmd+F)搜索frida-server即可快速定位。注意只需下载frida-server开头的文件,不要下载frida-core-devkit等其他文件。
# 解压(macOS / Linux)
xz -d frida-server-*.xz
# 解压(Windows 可使用 7-Zip 解压 .xz 文件)
# 推入模拟器并赋权(Windows 用户请在 CMD 或 PowerShell 中执行)
adb push frida-server /data/local/tmp/frida-server
adb shell chmod 755 /data/local/tmp/frida-server
启动 frida-server
# 以后台方式运行(macOS / Linux / Git Bash)
adb shell /data/local/tmp/frida-server &
# PowerShell 中 & 是特殊符号,需要改用以下方式后台运行
adb shell /data/local/tmp/frida-server
# 新开一个终端,验证是否启动成功(能列出模拟器中的进程列表即成功)
# 注意哦,如果 frida 是装在 python 虚拟环境中,需要再虚拟环境中执行才可以
frida-ps -U
获取目标 App 包名
objection 和 Frida 注入都需要指定 App 包名,以下方式可快速获取:
# 方法 1:先在模拟器中打开目标 App,然后执行(推荐,最快)
# macOS / Linux / Git Bash
adb shell dumpsys window | grep mCurrentFocus
# Windows PowerShell / CMD
adb shell dumpsys window | findstr mCurrentFocus
输出示例:mCurrentFocus=Window{... com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity}
其中 / 前面的部分就是包名,即 com.ss.android.ugc.aweme。
# 方法 2:列出所有第三方 App 包名,按关键词搜索
# macOS / Linux / Git Bash
adb shell pm list packages -3 | grep 关键词
# Windows PowerShell / CMD
adb shell pm list packages -3 | findstr 关键词
运行 SSL Pinning 绕过
方法一:使用 objection(推荐,一行命令搞定)
pip install objection
# ⚠️ 执行前确保模拟器中目标 App 已关闭(不是在后台运行,而是彻底关掉)
# objection 会自动启动 App 并注入,无需手动打开 App
# 新版写法(推荐)
objection -n com.example.app start
# 旧版写法(objection v1.x 仍可用,但会提示 deprecated)
# objection -g com.example.app explore
# 进入交互界面后执行:
android sslpinning disable
方法二:使用 Frida 脚本(更灵活,适合定制)
保存以下内容为 ssl_bypass.js:
Java.perform(function () {
var TrustManagerImpl = Java.use('com.android.org.conscrypt.TrustManagerImpl');
TrustManagerImpl.verifyChain.implementation = function (untrustedChain, trustAnchorChain, host, clientAuth, ocspData, tlsSctData) {
return untrustedChain;
};
try {
var CertificatePinner = Java.use('okhttp3.CertificatePinner');
CertificatePinner.check.overload('java.lang.String', 'java.util.List').implementation = function (hostname, peerCertificates) {
return;
};
} catch (e) {}
});
执行注入(两种模式二选一):
spawn 模式(推荐):Frida 自动启动 App 并在第一个网络请求发出之前完成注入,成功率更高。
# ⚠️ 执行前确保模拟器中目标 App 已彻底关闭,不能在前台或后台运行
# Frida 会自动启动 App,无需手动打开
frida -U -f com.example.app -l ssl_bypass.js
# Frida 15 及以下版本需要加 --no-pause 参数,16+ 已移除(默认不暂停)
# frida -U -f com.example.app -l ssl_bypass.js --no-pause
attach 模式:对已经在运行的 App 注入,部分请求可能在注入前就已发出,适合调试但绕过不够彻底。
# ⚠️ 执行前确保模拟器中目标 App 已打开且正在运行
frida -U com.example.app -l ssl_bypass.js
不同 App 可能使用不同的 SSL Pinning 实现,如果上述通用脚本无效,需要针对目标 App 的具体实现编写定制脚本。常见的还有 TrustKit、自定义 X509TrustManager 等方式。
部分 App(如抖音等)有反 Frida 检测机制,注入后 App 会直接崩溃(报
Process crashed: SIGSEGV)。这类 App 需要使用更高级的方案,如 LSPosed + JustTrustMe 模块(不依赖 Frida,不易被检测),或安装更低版本的 App 来降低检测强度。
3.6 开始抓包
每次抓包操作顺序
| 步骤 | 操作 | 终端 |
|---|---|---|
| 1 | 启动 mitmweb -p 8888 | 终端 1 |
| 2 | 模拟器 WLAN 设置代理指向电脑 IP:8888 | 模拟器 |
| 3 | 启动 frida-server | 终端 2 |
| 4 | Frida 注入并启动目标 App | 终端 3 |
| 5 | 浏览器打开 http://127.0.0.1:8081 查看请求 | 浏览器 |
完整命令
# 终端 1:启动 mitmweb
mitmweb -p 8888
# 终端 2:连接模拟器并启动 frida-server
adb connect 127.0.0.1:16384
adb shell /data/local/tmp/frida-server &
# 终端 3:注入并启动目标 App
frida -U -f com.example.app -l ssl_bypass.js
成功后在 mitmweb 网页界面即可看到目标 App 的 HTTPS 明文请求和响应。
四、mitmproxy 实用技巧
4.1 过滤请求
在 mitmweb 页面顶部 Search 搜索框中输入过滤表达式:
| 表达式 | 说明 |
|---|---|
~d example.com | 只显示指定域名的请求 |
~u /api/ | 只显示 URL 包含指定路径的请求 |
~m POST | 只显示 POST 请求 |
~c 200 | 只显示状态码为 200 的响应 |
~b keyword | 请求或响应 body 包含关键词 |
~bs keyword | 响应 body 包含关键词(需要 v12.1.0+) |
~bq keyword | 请求 body 包含关键词(需要 v12.1.0+) |
~d example.com & ~m POST | 组合过滤:指定域名 + POST 请求 |
启动时也可以直接指定过滤规则:
mitmweb -p 8888 --set view_filter="~d example.com"
完整的过滤表达式语法参考:Filter expressions
Body 搜索(响应/请求体内容过滤)
在 mitmweb 中搜索接口返回的响应体内容(如搜索中文关键词),需要使用 ~bs(response body)或 ~bq(request body)过滤表达式:
~bs "要搜索的中文关键词"
⚠️ 版本要求:mitmproxy v12.1.0+
~bs/~bq在 mitmweb 中的 body 过滤功能在 v12.1.0 之前未实现,使用时会提示body filters are not implemented yet(参考 GitHub Issue #3609)。该功能已在 v12.1.0 中正式发布,升级即可使用。
升级 mitmproxy:
# 查看当前版本
mitmproxy --version
# pip 升级
pip install --upgrade mitmproxy
# 或 macOS Homebrew 升级
brew upgrade mitmproxy
如果 pip 升级时报
Cannot connect to proxy错误,是因为系统代理指向了 mitmproxy 自身,需要先关闭系统代理再执行升级,详见常见问题。
低版本替代方案(v12.1.0 以下):
如果无法升级,可通过加载 Python 脚本实现 body 过滤。创建 filter_body.py:
import re
from mitmproxy import ctx
KEYWORD = "要搜索的关键词"
def response(flow):
try:
text = flow.response.get_text()
except:
return
if text and KEYWORD in text:
ctx.log.alert(f"[匹配] {flow.request.url}")
flow.marked = ":red_circle:"
启动时加载脚本,匹配到的请求会在界面中被标记为红色圆点:
mitmweb -p 8888 -s filter_body.py
4.2 保存和回放流量
# 保存所有流量到文件
mitmdump -p 8888 -w traffic.mitm
# 后续加载查看
mitmweb -r traffic.mitm
# 只保存符合过滤条件的流量
mitmdump -p 8888 -w traffic.mitm "~d example.com"
4.3 用 Python 脚本自动处理请求
# addon.py
from mitmproxy import http
def response(flow: http.HTTPFlow):
if "example.com" in flow.request.pretty_host:
print(f"[请求] {flow.request.method} {flow.request.pretty_url}")
print(f" 状态码: {flow.response.status_code}")
print(f" 响应大小: {len(flow.response.content)} bytes")
mitmdump -p 8888 -s addon.py
4.4 修改请求/响应
# modify.py
from mitmproxy import http
def request(flow: http.HTTPFlow):
if "example.com" in flow.request.pretty_host:
flow.request.headers["X-Custom-Header"] = "test"
def response(flow: http.HTTPFlow):
if "example.com" in flow.request.pretty_host:
flow.response.headers["X-Modified"] = "true"
mitmdump -p 8888 -s modify.py
五、常见问题
| 问题 | 解决方案 |
|---|---|
| mitmweb 页面显示「目前尚未记录到水流」 | 系统代理未正确配置,或浏览器未使用系统代理(如 Firefox 需单独配置) |
终端出现 Client TLS handshake failed | CA 证书未安装或未正确信任,HTTPS 请求虽能拦截到但无法查看明文,安装证书后解决 |
| 其他代理软件冲突(Clash / V2Ray 等) | 先退出其他代理软件,再启动 mitmproxy |
adb 连不上 MuMu 模拟器 | 确认端口 adb connect 127.0.0.1:16384,或在 MuMu 多开器查看 ADB 端口 |
| mitmweb 只看到 CONNECT 没有明文 | 证书没装到系统目录,或 App 使用了 SSL Pinning 未绕过 |
| Frida 报版本不匹配 | frida-tools 和 frida-server 版本必须完全一致 |
Frida unable to find process | 用 -f 参数让 Frida 主动启动 App,而不是 attach 已运行的进程 |
| 模拟器 App 闪退 | 尝试安装更低版本的 App,检查模拟器内存配置是否充足 |
| App 检测到 Root / 模拟器 | 可搭配 Magisk Hide 或 LSPosed + 隐藏 Root 模块 |
mount: '/system' not in /proc/mounts | MuMu 12 使用 mount -o remount,rw / 代替 |
pip install 速度慢 | 使用国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名 |
| 关闭 mitmproxy 后无法上网 | 忘记关闭系统代理了,去系统设置中关闭代理 |
mitmweb 搜索 ~bs 提示 body filters are not implemented yet | mitmproxy 版本低于 v12.1.0,该版本才正式支持 body 过滤。升级:pip install --upgrade mitmproxy |
pip install --upgrade 报 Cannot connect to proxy | 系统代理指向 mitmproxy 自身导致循环。先关闭系统代理(或 set HTTP_PROXY= / export HTTP_PROXY=),再执行升级命令 |
六、相关链接
| 资源 | 地址 |
|---|---|
| mitmproxy 官网 | mitmproxy.org |
| mitmproxy 官方文档 | docs.mitmproxy.org/stable/ |
| mitmproxy 过滤表达式 | docs.mitmproxy.org/stable/conc… |
| Python 官网 | www.python.org/downloads |
| Mac pyenv 多版本管理教程 | blog.csdn.net/zz00008888/… |
| Windows Python 安装教程 | blog.csdn.net/zz00008888/… |
| Frida Releases | github.com/frida/frida… |
| MuMu 模拟器 | mumu.163.com |
| APKPure(下载历史版本 APK) | apkpure.com |