Mitmproxy使用笔记

安装

在github下载最新的包*.tar.gz,解压到任意目录,包含三个可执行文件。

mitmproxy,mitmdump,mitmweb

三者的功能和用法一样,只是呈现方式不同,mitmproxy带交互界面, dump是纯命令行,mitmweb是web端(http://localhost:8081)

初级使用

./mimtproxy -p 9527

测试, 另开窗口:

curl -x http://127.0.0.1:9527 baidu.com

可以在窗口中查看到请求。

高级用法

./mitmproxy -p 9527 -f "~u baidu ~b chiyiw" # url中包含‘baidu’且body中包含‘chiyiw’

更多过滤用法可在mitmproxy中使用?查看

./mitmdump -p 9527 -s modify_response.py

处理脚本如下

def response(flow):
    content = flow.response.content.decode('utf8')
    if content.find('chiyiw') == -1:
        flow.response.content = 'why no me\n'.encode('utf8')

使用如下测试:

curl -x http://127.0.0.1:9527 baidu.com

result: why no me

更多的例子:https://github.com/mitmproxy/mitmproxy/tree/master/examples/simple

其它笔记

curl

python

mysql-python-connector

错误记录

Link: mitmproxy 官方文档:http://docs.mitmproxy.org/en/stable/index.html