Lazy loaded image
Lazy loaded imageMagicMIB(中文说明)
字数 1814阅读时长 5 分钟
2025-12-25
2025-12-29
type
status
date
slug
summary
tags
category
icon
password

MagicMIB(中文说明)


Website:
Source Code:
MagicMIB
ZZHow1024Updated Dec 25, 2025
Releases:

它是什么?

MagicMIB 是一款基于 SNMP 协议的网络设备管理工具,提供图形化界面和 Web 界面,支持 MIB 浏览、SNMP Get/Set/GetNext/GetBulk/Walk/GetSubtree 等操作,帮助网络管理员轻松管理和监控网络设备。

技术路线

TechnicalRoute
TechnicalRoute
  • 后端框架: Spring Boot 3.5.8
  • 前端框架: Vue 3 + Vite
  • UI 组件库: Arco Design Vue
  • SNMP 协议: SNMP4J 3.9.6
  • MIB 解析: Mibble 2.10.1
  • 图形界面: JavaFX 21
  • 编程语言: Java 21, JavaScript/TypeScript
  • 构建工具: Maven (后端), pnpm (前端)

许可证

该项目根据 GNU 通用公共许可证 v3.0 获得许可 - 有关详细信息,请参阅 LICENSE 文件。

功能特性

核心功能

  • MIB 浏览器: 可视化 MIB 树结构,支持 MIB 文件加载和管理
  • SNMP 操作:
    • Get: 获取指定 OID 的值
    • GetNext: 获取下一个 OID 的值
    • GetBulk: 批量获取多个 OID 值
    • Walk: 遍历指定 OID 后的所有数据
    • GetSubtree: 获取指定 OID 子树的所有数据
    • Set: 修改设备配置参数
  • 多协议支持: SNMP v1/v2c (v3 开发中)
  • 身份认证: 支持读写共同体名配置

界面特性

  • 双界面模式
    • 桌面应用:基于 JavaFX 的图形化启动界面
    • Web 应用:基于 Vue 3 的响应式 Web 界面
  • 实时结果展示:表格化展示查询结果
  • 对象详情:显示 MIB 节点详细信息(名称、OID、语法、权限、状态、描述)
  • 便捷操作:一键式操作按钮,简化工作流程

系统要求

后端运行环境

  • Java: JDK 21 或更高版本
  • Maven: 3.6 或更高版本
  • 操作系统:Windows 10+, macOS 11+, Linux

前端运行环境

  • Node.js: 20.19.0 或 22.12.0+
  • pnpm: 推荐使用 pnpm 作为包管理器

浏览器要求

  • 现代浏览器(Chrome, Firefox, Edge, Safari)最新版本
  • 支持现代 JavaScript 特性

快速开始

方式一:使用已编译的程序

  1. 访问 Releases 页面下载最新版本
  1. 根据您的操作系统选择对应的安装包
  1. 运行程序:
      • Windows: 双击 .exe/.smi 安装包、.zip压缩包解压运行或运行 .jar 文件
      • macOS: 安装 .dmg/.pkg 或运行 .jar 文件
      • Linux: 安装 .deb/.rpm 包或运行 .jar 文件

方式二:从源码构建运行

环境准备

  1. 安装 JDK 21 或更高版本
  1. 安装 Maven 3.6+
  1. 安装 Node.js 20.19.0+ 和 pnpm

克隆项目

启动后端服务

启动前端服务(开发模式)

访问应用

  • 桌面应用: 运行 backend 模块的主类 MagicMibApplication
  • Web 应用: 浏览器访问 http://localhost:5173

使用说明

桌面应用使用流程

  1. 启动应用: 运行程序后,主窗口将显示
  1. 配置服务:
      • 设置端口号(默认 80)
      • 选择是否允许局域网访问
  1. 启动服务: 点击"启动服务"按钮
  1. 访问 Web 界面: 在浏览器中打开显示的 URL
  1. 配置 SNMP 参数:
      • 设置目标设备 IP 地址
      • 配置端口(默认 161)
      • 设置读写共同体名(默认 public)
      • 选择 SNMP 版本(v1/v2c)
  1. 执行操作:
      • 在 MIB 树中浏览并选择节点
      • 或直接输入 OID
      • 选择操作类型(Get/GetNext/GetBulk/Walk/GetSubtree/Set)
      • 点击 "Go" 按钮执行
  1. 查看结果: 结果将在右侧结果表格中显示

Web 应用使用流程

  1. 启动后端服务(确保 Spring Boot 服务运行)
  1. 启动前端开发服务器 或访问已部署的 Web 应用
  1. 配置认证信息: 点击"高级..."按钮设置 SNMP 参数
  1. 浏览 MIB 树: 左侧 MIB 树显示可用的 MIB 模块和对象
  1. 选择操作:
      • 点击树节点自动填充 OID
      • 选择操作类型
      • 点击 "Go" 执行
  1. 管理 MIB 树: 点击"管理MIB树"按钮加载/卸载 MIB 文件
  1. 查看结果: 右侧表格显示查询结果,支持清空和查看多条记录

支持的 SNMP 操作详解

Get

获取指定 OID 的单个值。适用于查询设备的具体信息。

GetNext

获取指定 OID 的下一个对象值。用于遍历 MIB 树。

GetBulk

批量获取多个 OID 值。高效获取大量数据。

Walk

遍历指定 OID 后的所有数据。

GetSubtree

获取指定 OID 子树的所有数据。

Set

修改设备的配置参数。需要写权限的共同体名。

项目结构


开发指南

后端开发

前端开发


常见问题

Q: 无法连接到 SNMP 设备

A: 请检查:
  • 目标设备 IP 地址是否正确
  • 端口是否正确(默认 161)
  • 共同体名是否正确
  • 目标设备是否允许 SNMP 访问
  • 网络连接是否正常

Q: MIB 树为空或加载失败

A: 请检查:
  • MIB 文件是否已正确加载
  • MIB 文件格式是否正确
  • 是否选择了正确的 MIB 模块

Q: Web 界面无法访问

A: 请检查:
  • 后端服务是否已启动
  • 端口是否被占用
  • 防火墙是否阻止访问
  • 浏览器是否支持现代 JavaScript 特性

贡献指南

欢迎提交 Issue 和 Pull Request 来改进项目功能!

贡献方式

  1. Fork 项目
  1. 创建功能分支 (git checkout -b feature/AmazingFeature)
  1. 提交更改 (git commit -m 'Add some AmazingFeature')
  1. 推送到分支 (git push origin feature/AmazingFeature)
  1. 开启 Pull Request

版本历史

v1.0.0 (当前版本)

  • 初始版本发布
  • 实现了基本的 MIB 浏览器功能
  • 实现了基本的 SNMP 终端功能

联系方式

  • 作者: ZZHow(ZZHow1024)

致谢

上一篇
前往博客
下一篇
MagicMIB(English)

评论
Loading...