MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。
同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProxy 的命令行接口,利用它我们可以对接 Python 脚本,用 Python 实现监听后的处理。另一个是 MitmWeb,它是一个 Web 程序,通过它我们可以清楚地观察到 MitmProxy 捕获的请求。
本节我们来了解一下 MitmProxy、MitmDump、MitmWeb 的安装方式。
Pip安装
最简单的安装方式还是使用 Pip,直接执行如下命令即可安装:
pip3 install mitmproxy
这是最简单和通用的安装方式,执行完毕之后即可完成 MitmProxy的安装,另外还安装了MitmDump、MitmWeb 两个组件.
启动MitmDump
mitmdump
如下所示
MacBook-Pro:~ xi$ mitmdump
Proxy server listening at http://*:8080
已经自动开了本地8080端口的代理,
打开web浏览器,设置代理 为127.0.0.1:8080 或者设置全局的也行
设置完成,这时只能访问http的网站,并监控到数据,
如果想访问https的则需要额外安装证书,步骤如下:
在这个设置代理的浏览器里输入 http://mitm.it/
选择下载对应系统的证书
Mac 下双击 mitmproxy-ca-cert.pem 即可弹出钥匙串管理页面,然后找到 mitmproxy 证书,点击打开其设置选项,选择始终信任即可
此时可以访问https的网站,截取数据。
对于app端则可设置代理为局域网的代理机器ip:8080即可