简介
最近要实现接口自动化测试的,流量录制和回放。
mitmproxy最为合适,基于服务器的,基于Python的,可编程的。可互动的。so,已经抛弃了什么Fiddler 、charles ,因为它才是最好的。
他的背景是,适用于渗透测试人员和软件开发人员的必备利器,拿过来做接口自动化测试的流量录制和回放,可能也就不到3行代码就能实现。so ,我选择它来做我们的工具组件之一。
安装
安装包下载地址:
https://mitmproxy.org/downloads/#5.3.0/
你什么系统就下什么安装包,windows 版本,直接点下一步下一步,点击击默认安装就好。
千万别下最新版本,因为它跟python版本强依赖。最新版本8.x 需要python3.10x版本,我的py是3.8 只能安装5.x版本。
其他版本的安装你不会,可以看这个文档
https://docs.mitmproxy.org/archive/v5/overview-installation/
启动
windows版本安装完成会自动启动
如果没有启动可以手动启动,或者下次启动可以按照我说的:
如果你的mitmproxy安装在默认路径下。可以打开cmd 命令窗口
切换到图片中所在的路径执行:mitmdump 并回车,就可以开启。
监听端口8080,配置谷歌浏览器代理。
在谷歌浏览器上,安转一个插件:SwitchyOmega_Chromium.zip
可以找博客主要,或者自己百度下载,然后顺手百度一下,谷歌浏览器如何安装插件即可。
安装好之后,配置mitmproxy服务器的监听端口号为8080
然后在配置好的代理环境下访问 https://www.ztloo.com
可以看到访问https://www.ztloo.com 可以成功,显示200,其他链接
Cannot establish TLS with client (sni: beacons.gvt2.com): TlsException("SSL) 会出现这样的错误,是因为需要安装证书,它跟fiddler、charles 一样也是需要安装证书的,要不然抓不了HTTS的数据包。
安装证书
http://mitm.it/ 在谷歌浏览器代理环境下,访问这个链接,会提示你安装对应的证书引导提示
点击对应的get绿色区域,会自动下载证书文件,然后安装即可。
比如windows 上安装双击下列文件(跟着提示,安装到根证书即可)
不需要设置密码
mitmproxy-ca-cert.p12
然后就能抓取https 的数据包了,例如百度。
手机上安装
访问http://mitm.it/ 下载对应手机的证书,发送到对应手机,
如果手机不识别,就去安卓手机的安全、从SD卡下安装证书。
手机端iphone上下载安装mitmproxy证书:
-
手机和PC在同一个局域网中,设置wifi代理为PC端的ip,端口为mitmproxy的端口(默认8080)
-
手机浏览器访问mitm.it,下载安装mitmproxy描述文件,完成验证
-
经过上面两步,个别APP就可以访问并被mitmproxy在PC端截获,但有时发现很多APP无法上网,这时还需要添加证书的信任
“设置”——关于本机——证书信任设置——开启mitmproxy完全信任
安卓端android(华为为例)安卓端android(华为为例)
-
1 设置
-
2 安全与隐私
-
3 更多安全设置
-
4 从存储设备安装
-
5 选中证书文件,点击安装
-
6 输入锁屏密码
-
7 给安装文件命名mitmproxy
更详细的说明可以参考:https://mitmproxy.org/,后续会更新更为实战,更为好玩的数据抓取功能。一定要持续关注哦~