在开发微信公端的时候开发调试只能用浏览器自带开发工具,本来移动端可以用用fiddler、wireshark等工具来抓包,但是自从改用https和限制分享链接以后就没法调试了。找到mitmproxy后上面的问题就都解决了,而且证书安装方便。
mitmproxy功能强大,使用简单。支持SSL的HTTP中间人代理工具,它允许你检查HTTP和HTTPS流量并支持直接改写请求。
安装
windows、linux都需要先保证本机有python 2.7.X,然后安装pip包管理工具。
// 获取Python的版本号
$ python -V
// 安装pip
$ python -m pip install --upgrade pip
// mac使用Homebrew安装mitmproxy
$ brew install mitmproxy
*******************************更新*****************************************
bogon:~ pengbingxiang$ python -m pip install --upgrade pip
/usr/bin/python: No module named pip
// 使用上面的方式安装pip,报出No module named pip错误,换成下面的方式
bogon:~ pengbingxiang$ sudo easy_install pip
Password:
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 10.0.1
Downloading https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz#sha256=f2bd08e0cd1b06e10218feaf6fef299f473ba706582eb3bd9d52203fdbd7ee68
... ...
http://docs.mitmproxy.org/en/stable/install.html 官方安装说明
使用
- 启动mitmproxy
mitmproxy 默认代理端口是8080,可以使用 -p 命令指定一个端口并启动
$ mitmproxy -p 8888
- 配置浏览器和手机
1.电脑和手机连接到同一个wifi环境下
2.修改浏览器代理服务器地址为运行mitmproxy的那台机器(本机)ip地址,端口设定为你启动mitmproxy时设定的端口,如果没有指定就使用8080
3.手机做同样操作,修改wifi链接代理为 【手动】,然后指定ip地址和端口 -
以手机配置为例:
设置服务器、端口
- 安装CA证书(https抓包用)
在手机或pc机上打开浏览器访问 mitm.it 这个地址,选择你当前平台的图标,点击安装证书。
操作
- mitmproxy的操作
链接列表
按键 | 说明 |
---|---|
q | 退出(相当于返回键,可一级一级返回) |
d | 删除当前(黄色箭头)指向的链接 |
D | 恢复刚才删除的请求 |
G | 跳到最新一个请求 |
g | 跳到第一个请求 |
C | 清空控制台(C是大写) |
i | 可输入需要拦截的文件或者域名(逗号需要用\来做转译,栗子:feezu.cn) |
a | 放行请求 |
A | 放行所有请求 |
? | 查看界面帮助信息 |
^ v | 上下箭头移动光标 |
enter | 查看光标所在列的内容 |
tab | 分别查看 Request 和 Response 的详细信息 |
/ | 搜索body里的内容 |
esc | 退出编辑 |
e | 进入编辑模式 |