网站首页 > 博客文章 正文
导语:本文将要介绍Minio版本探测的方法,通过Python实现自动化,记录开发细节,开源代码。
0x00 前言
本文将要介绍Minio版本探测的方法,通过Python实现自动化,记录开发细节,开源代码。
0x01 简介
本文将要介绍以下内容:
实现思路
实现细节
开源代码
0x02 基础知识
MinIO是一款基于Go语言发开的高性能、分布式的对象存储系统。Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Go语言实现,服务端可以工作在Windows,Linux, OS X 和FreeBSD上,并且只需要单独的可执行程序就可以运行。
在Windows上的环境搭建可参考:https://min.io/docs/minio/windows/index.html
1.下载
最新版本:https://dl.min.io/server/minio/release/windows-amd64/minio.exe
历史版本:https://dl.min.io/server/minio/release/windows-amd64/archive/
历史版本在下载后将文件后缀名添加.exe,运行即可
2.启动服务
命令行参数:minio.exe server C:\minio --console-address :9090
3.Web访问
URL地址:http://127.0.0.1:9090
默认用户名:minioadmin
默认口令: minioadmin
0x03 实现思路
Minio的版本探测需要登录到Web后台
访问位置:Health页面,如下图
从页面中可以看到当前版本以及节点和存储的信息
在程序实现上,我们可以通过抓包的方式分析认证过程,具体内容如下:
1.登录
访问地址:http://127.0.0.1:9090/api/v1/login
通过json格式传入认证信息,具体内容如下:
登录成功后返回状态码204,在Header中添加Cookie: token=xxxx作为凭据
2.读取版本信息
访问地址:http://127.0.0.1:9090/api/v1/admin/info
需要带有Cookie: token=xxxx作为凭据
返回结果为json格式,如下图
补充:获得Minio的最新版本
访问地址:http://127.0.0.1:9090/api/v1/check-version
0x04 实现细节
1.登录
这里需要考虑一个问题:默认端口被修改的情况
在用程序实现自动化时,通常会使用端口9000,但存在端口被修改为9001的情况,也存在很少一部分将端口修改为其他不常见的端口
如果端口错误,会返回状态码400,返回内容示例:
所以在程序实现上这里可以添加一个判断:当使用默认端口9000时,如果返回特定条件,提示端口错误,接下来尝试端口9001,如果再次失败,提示修改默认端口
完整示例代码:
2.读取版本信息
返回结果为json格式,结果示例:
这里存在多个servers的情况,所以在解析时需要使用遍历,示例代码如下:
0x05 开源代码
完整的实现代码已上传至github,地址如下:https://github.com/3gstudent/Homework-of-Python/blob/master/MinIO_GetVersion.py
代码支持以下两种命令:
getversin:用来获得版本信息
getinfo:用来获得完整信息
0x06 小结
本文介绍了Minio版本探测的方法,结合实际环境介绍了通过Python开发的细节,开源代码。
猜你喜欢
- 2024-09-26 Linux 安装/卸载 Minio(linux安装卸载命令)
- 2024-09-26 关于MINIO的DOCKER配置、403错误配置教程
- 2024-09-26 mysql备份自动存储到开源的minio(mysql 备份文件)
- 2024-09-26 2021年的4个开源对象存储平台(开源软件定义存储)
- 2024-09-26 Minio存储服务兼容Amazon S3(minio 存储原理)
- 2024-09-26 在群晖 Docker 中部署 MinIO(群晖docker使用教程)
- 2024-09-26 接私活利器丨X-SpringBoot轻量级的Java快速开发平台,源码分享
- 2024-09-26 使用 Minio 作为 OpenStack Glance 以及 Cinder Backup 的 S3 后端
- 2024-09-26 MinIO 信息泄露(CVE-2023-28432)漏洞检测及汇总
- 2024-09-26 这款可视化的对象存储服务真香!Github标星28K+
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)