什么是 mitmproxy
mitmproxy是一款支持HTTP(S)的中间人代理工具。不同于Fiddler2,burpsuite等类似功能工具,mitmproxy可在终端下运行。mitmproxy使用Python开发,是辅助web开发&测试,移动端调试,渗透测试的工具。
安装
mac 安装
|
或
|
说明
mitmproxy 提供了3个命令 :
- mitmdump :纯命令行界面,类似 tcpdump
- mitmproxy :命令行模式,类似 vim
- mitmweb :带 web 界面的
mitmproxy
直接执行 mitmproxy 会打开本机的8080端口
然后手机开启http 代理,设置完代理后访问 mitm.it

点击对应的图标安装证书并使系统信任该证书,安装证书是为了当请求 HTTPS 页面的内容也可以看到具体的请求头和响应头信息,然后访问页面 PC 端就会出现对应的请求信息了

按方向键上下键进入对应的 URL 内查看请求 响应等字段,按左右键切换,按 q 键返回主界面。
在请求列表界面按 i,在左下角会显示 Intercept filter:,要求输入过滤表达式,用于指示拦截哪些请求,此处的过滤表达式的语法同请求列表过滤表达式相同。

比如输入 baidu.com,则当请求到百度时候请求会被拦截并以橙色标识(颜色根据终端设置不一样会显示不一样)

请求拦截后可以编辑重新发送,也可以直接放行,比如进入到该请求的响应里面按 e 键设置一些参数

自定义端口和 IP 和端口
|
mitmweb
执行 mitmweb 后会打开浏览器

出现如图所示的对话框,当有请求时候则都会显示在这里

mitmdump
默认执行 mitmdump

三个命令具体的参数都可以看帮助
|
API
|
python 的相关 exmaples 可以查看 GitHub 源码
比如说将所有请求头的 server 都改成 nginx
|
保存为 Python 文档后执行
|
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客!