MITMProxy在Mac运行一段时间后自动退出及终端异常问题求助
macOS下Mitmproxy代理安卓请求自动退出及终端异常问题的解决建议
环境信息
- Mitmproxy:10.1.5 二进制版本
- Python:3.12.0
- OpenSSL:OpenSSL 3.1.4 2023年10月24日
- 平台:macOS-13.6-x86_64-i386-64bit
问题现象
安卓设备已安装Mitmproxy证书并配置WiFi代理,启动Mitmproxy后可正常抓取网络流量,但运行一段时间后会自动退出。退出后终端进入异常状态,点击鼠标会输出类似65;78;36M65;7836M65;78的乱码字符,必须重置终端才能恢复。未收到任何错误提示,查看错误流也无内容;有时尝试用Ctrl+C退出异常状态时会触发错误。
解决方向
1. 禁用Mitmproxy鼠标支持
Mitmproxy的终端UI会监听鼠标事件,异常退出时可能未正确重置终端的鼠标模式。启动时添加参数禁用鼠标交互:
mitmproxy --no-mouse
既可以避免鼠标乱码问题,也能排查是否是鼠标交互导致的自动退出。
2. 降级Python版本
Mitmproxy 10.1.5与Python 3.12的兼容性可能存在问题,Python 3.12作为较新版本,部分依赖库适配不完善。建议降级到Python 3.11.x系列版本,再重新运行Mitmproxy。
3. 切换至无UI模式运行
若不需要终端交互UI,可改用mitmdump(命令行抓包)或mitmweb(Web界面抓包)模式:
# 抓包并保存到日志文件 mitmdump -w traffic.log # 启动Web界面,通过浏览器访问http://localhost:8081查看流量 mitmweb
这两种模式资源占用更低,也规避了终端UI的兼容性问题。
4. 监控系统资源占用
Mitmproxy自动退出可能是系统内存不足或进程被系统查杀。运行Mitmproxy时,用top命令或「活动监视器」监控其CPU、内存占用情况,确认是否为资源耗尽导致的退出。
5. 快速恢复终端状态
终端出现乱码时,无需重置终端,直接输入reset命令并回车,即可快速恢复正常状态。
内容的提问来源于stack exchange,提问作者Rishi
相关产品推荐
相关产品推荐

