You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何结合VPN使用mitmproxy监听移动应用请求?

解决VPN环境下mitmproxy无法捕获移动应用请求的方案

1. 调整代理与VPN的优先级

多数VPN会接管设备默认路由,导致流量绕开mitmproxy。试试这两步:

  • 先在移动设备上手动设置mitmproxy代理(填运行mitmproxy的PC IP和端口,比如8080),再启动VPN。部分VPN应用有“允许自定义代理”或“不覆盖系统代理”的开关,打开它就能保留代理配置。
  • 安卓设备如果被VPN强制覆盖代理,可通过adb命令锁全局代理:
    adb shell settings put global http_proxy 你的PCIP:8080
    adb shell settings put global https_proxy 你的PCIP:8080
    
    部分安卓系统需要Root权限,或者用ProxyDroid这类工具锁定代理,防止VPN篡改。

2. 把mitmproxy设为VPN的上游代理

让VPN流量先经过mitmproxy再转发到VPN服务器:

  • 用OpenVPN这类开源客户端的话,直接在配置文件里加:
    http-proxy 你的PCIP 8080
    https-proxy 你的PCIP 8080
    
  • 商业VPN应用找“上游代理”或“代理设置”选项,填入mitmproxy的地址和端口,这样所有VPN流量都会走mitmproxy,自然能被捕获。

3. 启用mitmproxy透明代理模式

透明代理不用设备手动设代理,靠路由让流量自动走mitmproxy:

  • PC端启动透明代理:
    mitmdump --mode transparent --showhost
    
  • 移动设备WiFi网关改设为PC的IP,同时PC要开IP转发:Linux/macOS执行sysctl -w net.ipv4.ip_forward=1,Windows在网络适配器设置里开启IP转发。
  • 这种模式下,VPN流量会先经过PC网关(mitmproxy)再到VPN服务器,mitmproxy就能抓到所有请求。

4. 排查应用的证书和代理绕过问题

有些应用会刻意避开代理或拒绝mitmproxy证书:

  • 确保移动设备已安装并信任mitmproxy的CA证书:安卓去“安全-加密与凭据-安装证书”,iOS在“设置-通用-VPN与设备管理”里信任证书。
  • 用tcpdump在PC端抓包,确认应用流量是否到了mitmproxy端口。如果没到,说明应用可能硬编码了直连逻辑,得用Xposed(安卓)或Frida hook应用的网络函数,强制它走代理。

内容的提问来源于stack exchange,提问作者komarkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:52:19