SCHALE.GameServer/Mitmproxy_Readme_ZH.md

3.7 KiB
Raw Permalink Blame History

Mitmproxy方案使用教程

By 北野樱奈)

前置要求

  1. 下载 mitmproxy 并安装。
  2. 具备 WireGuard 和 Python 脚本的基本知识。
  3. 一台客户端设备(例如 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 证书。

操作步骤

  1. 启动 mitmproxy生成证书:
mitmdump
  1. 在电脑端的C:\Users\用户\ .mitmproxy安装电脑证书mitmproxy-ca.p12
  2. mitmproxy的目录下会有mitmproxy-ca-cert.crt
  3. 将 mitmproxy-ca-cert.crt 重命名为 c8750f0d.0
  4. 将证书安装为系统 CA

  1. 将证书移动到系统 CA 目录:
adb root
adb remount
adb shell mv /sdcard/c8750f0d.0 /system/etc/security/cacerts/
  1. 设置正确的权限:
adb shell chmod 644 /system/etc/security/cacerts/c8750f0d.0
  1. 重启设备:
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

安装步骤

配置步骤

  1. 打开 WireGuard 客户端,点击左下角+号,选择扫描二维码
  2. 选择后模拟器会弹出扫一扫窗口,选择实时截屏
  3. 选择截屏后会有获取图像窗口移动到Mitmproxy浏览器页面上的二维码没有的话在设置里面
  4. 启用该配置。

故障排查

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