前言:
mitmproxy 就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。
不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发
1.安装mitmproxy
下载mitmproxy二进制安装包:https://github.com/mitmproxy/mitmproxy/releases/
我下载的版本为mitmproxy-4.0.1-linux.tar.gz
下载之后需要解压然后将其配置到环境变量。
tar -zxvf mitmproxy-4.0.1-linux.tar.gz
sudo mv mitmproxy mitmdump mitmweb /usr/bin
2. 证书配置
对于 MitmProxy 来说,如果想要截获 HTTPS 请求,我们就需要设置证书,MitmProxy 在安装后会提供一套 CA 证书,只要客户端信任了 MitmProxy 提供的证书,我们就可以通过 MitmProxy 获取 HTTPS 请求的具体内容,否则 MitmProxy 是无法解析 HTTPS 请求的。
首先运行一下命令产生 CA 证书,启动 MitmDump 即可:
su root #切换root用户,如果你当前状态就是root就不用切换了
cd /root #进入root目录
mitmdump #输入命令
cd .mitmproxy #进入该文件夹
在证书中找到mitmproxy-ca-cert.pem
在此解释一下证书的描述(不感兴趣直接跳过):
以下直接复制粘贴命令就ok:
如果在Ubuntu 上如果遇到的是.pem的文件,必须先将其转换为.crt文件:
openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
在以下位置为额外的CA证书创建目录/usr/share/ca-certificates:
sudo mkdir /usr/share/ca-certificates/extra
将CA .crt文件复制到此目录:
sudo cp mitmproxy-ca-cert.crt /usr/share/ca-certificates/extra/mitmproxy-ca-cert.crt
让Ubuntu添加.crt文件的路径相/usr/share/ca-certificates对于/etc/ca-certificates.conf:
sudo dpkg-reconfigure ca-certificates
接下来会弹出一个安装界面,直接回车就可以了,安装完成
如何使用:
mitmproxy有三个命令:mitmproxy(命令行工具,注:windows不支持)、mitmdump(命令行非交互界面)、mitmweb(提供web界面的代理工具),我们最长用的mitmdump
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)