3.7 KiB
3.7 KiB
Mitmproxy方案使用教程
(By 北野樱奈)
前置要求
- 下载 mitmproxy 并安装。
- 具备 WireGuard 和 Python 脚本的基本知识。
- 一台客户端设备(例如 Android 模拟器或手机)以及运行
mitmproxy
的主机。
安装步骤
- Linux/Mac
# Ubuntu/Debian
sudo apt update
sudo apt install mitmproxy
# macOS
brew install mitmproxy
- Windows: 从 mitmproxy.org 下载
.exe
安装程序,并按说明完成安装。
验证安装
运行以下命令验证安装是否成功:
mitmproxy --version
第二步:在客户端以及服务端安装 CA 证书
为了解密 HTTPS 流量,客户端需要信任 mitmproxy
的 CA 证书。
操作步骤
- 启动
mitmproxy
生成证书:
mitmdump
- 在电脑端的C:\Users\用户\ .mitmproxy安装电脑证书(mitmproxy-ca.p12)
- mitmproxy的目录下会有mitmproxy-ca-cert.crt
- 将 mitmproxy-ca-cert.crt 重命名为 c8750f0d.0
- 将证书安装为系统 CA
- 将证书移动到系统 CA 目录:
adb root
adb remount
adb shell mv /sdcard/c8750f0d.0 /system/etc/security/cacerts/
- 设置正确的权限:
adb shell chmod 644 /system/etc/security/cacerts/c8750f0d.0
- 重启设备:
adb reboot
第三步:下载重定向脚本
可以从仓库下载脚本
注意:请一定要修改redirect_server.py内的IP地址
import gzip
import json
from mitmproxy import http
SERVER_HOST = '修改这里'
SERVER_PORT = 80
REWRITE_HOST_LIST = [
'ba-jp-sdk.bluearchive.jp',
'prod-gateway.bluearchiveyostar.com',
'prod-game.bluearchiveyostar.com',
# 'prod-notice.bluearchiveyostar.com',
# 'prod-logcollector.bluearchiveyostar.com',
]
第四步:启动 mitmproxy 并加载脚本
运行以下命令以使用重定向脚本启动 mitmproxy
:
mitmweb -m wireguard --no-http2 -s redirect_server.py --set termlog_verbosity=warn --ignore 这里输入你的IP地址
参数说明:
-m wireguard
: 使用 WireGuard 作为网络层。--no-http2
: 禁用 HTTP/2 以提高兼容性。-s redirect_server.py
: 加载重定向脚本。--set termlog_verbosity=warn
: 设置日志级别为警告。
你可以通过 http://localhost:8081
访问 mitmweb
界面监控流量。
第五步:安装并配置 WireGuard
使用 WireGuard 将客户端流量路由到 mitmproxy
。
安装步骤
- Android: 下载 WireGuard。
- 其他平台: 参考 WireGuard 官方安装指南。
配置步骤
- 打开 WireGuard 客户端,点击左下角+号,选择扫描二维码
- 选择后模拟器会弹出扫一扫窗口,选择实时截屏
- 选择截屏后,会有获取图像窗口,移动到Mitmproxy浏览器页面上的二维码(没有的话在设置里面)
- 启用该配置。
故障排查
Client TLS handshake failed. The client does not trust the proxy's certificate for yostar-oversea-netsdk-logging.ap-southeast-1.log.aliyuncs.com (OpenSSL Error([('SSL routines', '', 'ssl/tls alert certificate unknown')]))
- 确保电脑端以及客户端证书为内容一样的
- 确保双端安装了Mitmproxy证书
安卓端安装后证书消失?
- 可以使用MT管理器授予SU权限
- 然后前往/system/etc/security/cacerts/
- 找到 c8750f0d.0 给予 664 权限。用户组为 root