App爬虫神器mitmproxy是一个开源的HTTP(S) 抓包与修改工具套件,包含mitmproxy命令行界面、mitmweb带网页UI以及mitmdump纯命令行模式。
mitmproxy作为中间人代理,为你的设备/模拟器提供 HTTP/HTTPS 代理;安装它的 自签 CA 证书 后,就能解密 HTTPS 并查看/改写请求响应。
一键安装包,来9663下载后解压:装完就有 mitmproxy/mitmweb/mitmdump 三个命令。
或者 pip install mitmproxy(需要 Python 环境)。
装好后,开一个新的终端:
mitmweb --version
在 PC 上运行(允许外部设备连入):
mitmweb --listen-host 0.0.0.0 --listen-port 8080 --set block_global=false -w flows.mitm
代理监听:0.0.0.0:8080
Web 控制台:默认 http://127.0.0.1:8081(可在浏览器打开看流量)
-w flows.mitm 会把抓到的流量保存下来(可回放/分析)
如果 8080 被占用,换个端口,例如 --listen-port 8888。
配置代理
关键:模拟器里要填你“PC 的局域网 IP”,不是 127.0.0.1。
在 Windows 终端 ipconfig 找到你的 IPv4(例如 192.168.1.23)。
方式 A:在 MuMu 里手动设置 Wi-Fi/网络的「代理」为手动 → 主机名 192.168.1.23 端口 8080。
方式 B(更快):ADB 一把梭
adb -s 127.0.0.1:7555 shell settings put global http_proxy 192.168.1.23:8080
# 取消代理:
# adb -s 127.0.0.1:7555 shell settings delete global http_proxy
不同模拟器网络堆栈不一样;MuMu 一般能直接访问你 PC 的局域网 IP。若你是公司网络/VPN,有时需要放通防火墙入站端口 8080。
在模拟器浏览器打开 http://mitm.it → 选 androids → 下载证书 → 安装为“用户凭据”。
证书文件也会在 PC 的 %USERPROFILE%\.mitmproxy\ 目录里(如需手动拷贝)。
androids 7+ 上“用户证书”对大多数系统组件生效,但很多 App 会不信任用户证书或做证书绑定。这时需要开发构建放开信任,或把 CA 装到系统证书,或用 Frida/LSPosed 做开发调试。
常用启动参数(记几个就够)
# 图形网页 UI(最常用)
mitmweb --listen-host 0.0.0.0 --listen-port 8080 --set block_global=false -w flows.mitm
# 终端 TUI
mitmproxy --listen-port 8080 --set block_global=false
# 纯命令行 + 保存流量
mitmdump -p 8080 -w out.mitm
# 只抓某域名(服务端过滤,减少噪音)
mitmdump -p 8080 ~d example.com -w example.mitm
?:帮助/快捷键总览
j/k:上下选择流
e / E:查看/编辑请求
r / R:查看/编辑响应
a:拦截(Intercept)开关
q:返回 / 退出
mitmweb 则是全图形界面:点左侧流,右侧分栏查看/编辑,请求重放(Replay)、断点(Intercept)都在工具栏/菜单里