mitmproxy是一款支持SSL的HTTP代理,它可以用于调试HTTP通信,发起中间人攻击等。mitmproxy提供了一个控制台接口用于动态拦 截和编辑HTTP数据包。mitmdump是mitmproxy的命令行版本,功能与其相同。
mitmproxy的主要特点:
Intercept and modify HTTP traffic on the fly
Save HTTP conversations for later replay and analysis
Replay both HTTP clients and servers
Make scripted changes to HTTP traffic using Python
SSL interception certs generated on the fly
step1.安装Pip
Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
Pip的安装可以通过源代码包,easy_install或者脚本。
easy_install:
$ easy_install pip
step2.安装 mitmproxy
pip install mitmproxy
step3.启动 mitmproxy
mitmproxy
# 端口默认为 8080,如果你有程序已占用此端口可以指定其他端口(如1234)
mitmproxy -p 1234
step4. 数据筛选
l # 设置 limit filter
weixin 回车
Tips:
1.安装的时候如果遇到“ Permission denied” 类似的错误请用sudo 执行安装;
2.如果在启动的时候遇到:pyOpenSSL 版本过低,提示如下:
You are using an outdated version of pyOpenSSL: mitmproxy requires pyOpenSSL 0.14 or greater.
Your pyOpenSSL 0.13.1 installation is located at /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/OpenSSL
需要下载pyOpenSSL 0.14安装:
https://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.14.tar.gz
tar zxvf pyOpenSSL-0.14.tar.gz
cd pyOpenSSL-0.14
python setup.py install