Mitmproxy教程
简介
一款基于Python实现的跨平台的流量分析工具。可以通过控制台来完成相关的操作,能够对流量进行拦截,检测,修改,回放等。并且支持https。
该工具的使用是完全免费的。
该工具通过设置代理的方式完成对网络流量的监控和操作。
安装
Mitmproxy的安装是非常容易的。
使用pip安装
pip install mitmproxy
注
推荐使用Python 2.7。其他版本不保证能够正常。
使用二进制包安装
下载二进制包安装即可。
Mac上使用homebrew安装1
brew install mitmproxy
基本使用
一旦安装成功,就可以通过命令行来启动工具,开始启动代理进行抓包。
启动命令:
mitmproxy -b PROXY_IP_ADDR -p PROXY_PORT
参数 | 说明 |
---|---|
-b | 代理服务器地址(一般的为PC本机的地址) |
-p | 代理服务端口号 |
启动之后的界面如下图
如果你熟悉Linux
和Vim
,那么你在使用这个工具的时候会感到无比的亲切。常用快捷键如下表:
快捷键 | 操作 |
---|---|
h/j/k/l | 对应方向键左/下/上/右 |
q | 退出到上一界面(退出程序也是q) |
Enter | Follow一个请求到具体内容界面 |
Tab | 切换不同的Tab,如“Request”,“Response”,“Detail” |
e | 编辑请求 |
g | 回到第一行请求 |
G | 回到最新/后一条请求 |
? | 帮助 |
C | 清除抓包结果 |
m | 在Response比较乱的时候,按下m选择格式化语法,例如再次按下s便展示json格式 |
i | 拦截流量包 |
调试https
https的调试需要安装一个自定义的SSL证书,以便让mitmproxy对所拦截的流量进行解密。
启动mitmproxy的时候需要额外添加一个参数,如下:
mitmproxy -a PROXY_IP_ADDR -p PROXY_PORT --no-upstream-cert
同时需要在Android机器上安装SSL证书2。
1. homebrew的相关教程参考这里 ↩
2. 一般的,会在安卓手机的设置
——安全与隐私
——设备管理与凭证
——安装
,选择相应的证书即可完成安装 ↩