mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler、Charles的功能,可以在linux以命令行形式的展示抓包信息
mitmdump:它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。
mitmweb:它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。
官网地址:https://mitmproxy.org/
mitmproxy
环境依赖:python 3.6 以上 这里不做介绍,可参考:https://www.cnblogs.com/kimyeee/p/7250560.html
安装:
pip3 install mitmproxy
查看是否安装成功
[xxxx@test cr]$ mitmproxy --version
Mitmproxy: 4.0.4
Python: 3.6.2
OpenSSL: OpenSSL 1.0.2p 14 Aug 2018
Platform: Linux-3.10.0-862.14.4.el7.x86_64-x86_64-with-centos-7.5.1804-Core
执行mitmproxy开始抓包
mitmproxy
界面如下,右下角8080是默认监听端口,可通过 mitmproxy -p 9999 指定端口
手机或者浏览器使用该代理端口 ,访问即可看到抓到数据包
操作说明
按键 | 说明 |
i | 可输入需要拦截的文件或者域名(逗号需要用\来做转译,栗子:feezu.cn) |
a | 放行请求 |
A | 放行所有请求 |
? | 查看界面帮助信息 |
^ v | 上下箭头移动光标 |
enter | 查看光标所在列的内容 |
tab | 分别查看 Request 和 Response 的详细信息 |
/ | 搜索body里的内容 |
esc | 退出编辑 |
e | 进入编辑模式 |
mitmweb
linux启动
[test@test ~]$ mitmweb
Web server listening at http://127.0.0.1:8081/
No web browser found. Please open a browser and point it to http://127.0.0.1:8081/
Proxy server listening at http://*:8080
但是在windows启动时无法访问到8081端口web服务 , 需要指定--web-iface为0.0.0.0 这样所有服务器都可以访问了
[test@test~]$ mitmweb --web-iface 0.0.0.0 -p 9999
Web server listening at http://0.0.0.0:8081/
No web browser found. Please open a browser and point it to http://0.0.0.0:8081/
Proxy server listening at http://*:9999
启动成功页面如下
手机或者浏览器配置9999端口,随便访问一个数据,可以查看到数据,安装证书文章末尾会介绍
此时可以修改自定义参数提交等
mitmdump
命令行形式,可以对接python进行自定义开发,后续持续更新
证书安装,访问https
在手机浏览器打开http://mitm.it/ 选择相关系统下载证书并安装即可