SNMP的基本知识此处就不再介绍了,就默认大家已经会了,本文重点是MIB的学习及实践。

MIB (Managed Information Base)管理信息库

  • 保存被管对象信息的(虚拟)数据库
  • 被管对象用SMI定义
  • 被管对象为树形结构
  • 类似OSI, SNMP的被管对象也被组织在注册树中
  • 基本被管对象:在SNMP中,只有处于叶子节点上的对象是可以直接访问的

directory(1): 为与OSI directory 相关的、将来的应用而保留
mgmt(2): 用于在IAB批准的文档中定义的对象
experimental(3): 用于表示在Internet 实验中应用的对象
private(4): 用于标识专用对象 :

  • 目前只定义了一个子节点:enterprise
  • 各厂商的mib在enterprise 中分别注册
  • http://www.iana.org/assignments/enterprise-numbers

以RFC1155 MIB库介绍 SNMP的数据类型和结构

  • 通俗地来描述EXPORT 有点像函数声明,声明以下名称的节点可以外部调用。
  • 通过 OBJECT IDENTIFIER 创建节点并指定下挂的上级节点位置,如 directory 定义为 internet 的 1号子节点。
  • RFC1155 库中定义的对象属性宏,创建了对象的基本属性,属于底层定义,我们只需会调用即可。

  • 由OBJECT IDENTIFIER 创建了ObjectName, 用于定义被管对象的名称, 简单类比C语言的typedef 过程。
  • 不同的对象可以赋予不同的数据类型,将会有不同的属性。
  • 可以看到RFC 1155库中的自定义数据类型 IpAddress 等的定义过程

  • 为了简化和规范定义方法,SMI定义了OBJECT-TYPE宏
  • RFC1155-SMI中定义了OBJECT-TYPE宏
  • RFC1212对OBJECT-TYPE宏进行了重新定义(完善)

可以看到完善后的宏更为直观易懂,包含了"SYNTAX", “ACCESS”,“STATUS”, value 等属性。

利用OBJECT-TYPE MACRO定义被管对象类,只要确定其名称、标识符,给出SYNTAX、ACCESS、STATUS、DESCRIPTION等参数即可,可以看成是OBJECT-TYPE MACRO的参数调用过程

定义表格

  • 使用SEQUENCE、SEQUENCE OF来定义表格,注意要给出IndexPart参数
    具有参考下方实例。

MIB库实际创建

系统:Windos 10 21H1 (由于win10很烂的更新,不同版本会遇到不同的状况,下面是我遇到的问题)
软件:iReasoning MIB Browser

1、安装SNMP Agent


然而,我没有这个选项,所以应该:

找到这个,安装

然而并不行,安装之后依然找不到,索性直接进行下一步,反而在服务里找到了正在运行的SNMP,所以这个版本win10不需要在windos功能里打勾


2、安装MIB Browser





例程:
编写一个“手机店”的 mib 库,该 mib 库位于enterprise节点下、编号为你的学号后5位节点下面。下级节点包括:

  • 手机店名称 – 字符串,只读

  • 手机店地址 – 字符串,只读

  • 手机店老板姓名 – 字符串,读写

  • 手机店手机总数 – 整数,只读

  • 手机库存表

    * 手机型号 – 字符串,具备唯一性,索引列* 手机生产厂商 – 字符串,只读* 手机CPU核数 – 整数,只读* 手机内存大小 – 整数,只读。单位:GB* 手机存储大小 – 整数,只读。单位:GB* 该型号手机的库存数量 – 整数,只读
    

要求:可通过 MIB Browser 成功加载。

SHOUJIDIAN-MIB DEFINITIONS ::= BEGIN
-- 为注释,不影响代码
-- 引用RFC1155 和 RFC1212
IMPORTSenterprises, CounterFROM RFC1155-SMIOBJECT-TYPEFROM RFC-1212;--定义enterprises下shoujidian节点shoujidian OBJECT IDENTIFIER ::= { enterprises 10000 }--为了方便,将OCTET STRING和INTEGER 定义为自己习惯的字符String ::= OCTET STRING
Int ::= INTEGER--手机店名称
--用宏定义创建对象StoreName,OCTET STRING 类型,长度0-10,只读,强制型,位于shoujidian 节点1位置StoreName OBJECT-TYPESYNTAX String (SIZE(0..10))ACCESS read-onlySTATUS mandatoryDESCRIPTION"cell phone store's name"::= { shoujidian 1 }--手机店地址StoreAddress OBJECT-TYPESYNTAX String (SIZE(0..10))ACCESS read-onlySTATUS mandatoryDESCRIPTION"cell phone store's address"::= { shoujidian 2 }--手机店老板姓名BossName OBJECT-TYPESYNTAX String (SIZE(0..10))ACCESS read-writeSTATUS mandatoryDESCRIPTION"name of cell phone store's boss"::= { shoujidian 3 }--手机店手机总数NumofPhones OBJECT-TYPESYNTAX Int (0..65535)ACCESS read-onlySTATUS mandatoryDESCRIPTION"number of  phones "::= { shoujidian 4 }--库存信息
--创建table类型repertory,用SEQUENCE OF数据类型,位于shoujidian 5节点位置repertory OBJECT-TYPESYNTAX SEQUENCE OF Repertory ACCESS not-accessibleSTATUS mandatoryDESCRIPTION"Information of repertory"::= { shoujidian 5 }--列表下创建子对象,同时将其作为索引列。此处使用子对象PhoneModel作为索引。
repertorySituation OBJECT-TYPESYNTAX RepertoryACCESS not-accessibleSTATUS mandatoryDESCRIPTION"cellphone model."INDEX { PhoneModel }::= { repertory 1 }--声明Repertory所包含的对象及类型,用sequence 创建表格类型的对象
Repertory ::=SEQUENCE{PhoneModelString,ProducterString,CPUNumsInt,RAMInt,StorageInt,RepertoryNumInt
}--分别创建对象
PhoneModel OBJECT-TYPESYNTAX String (SIZE(0..10))ACCESS read-onlySTATUS mandatoryDESCRIPTION"different type of cellphones"::= { repertorySituation 1 }Producter OBJECT-TYPESYNTAX String (SIZE(0..10))ACCESS read-onlySTATUS mandatoryDESCRIPTION"producter"::= { repertorySituation 2 }CPUNums OBJECT-TYPESYNTAX Int (0..1000)ACCESS read-onlySTATUS mandatoryDESCRIPTION"number of CPU kernals"::= { repertorySituation 3 }RAM OBJECT-TYPESYNTAX Int (0..65535)ACCESS read-onlySTATUS mandatoryDESCRIPTION"Capacity of  the memory module, units: GB"::= { repertorySituation 4 }Storage OBJECT-TYPESYNTAX Int (0..65535)ACCESS read-onlySTATUS mandatoryDESCRIPTION"Storage of cellphone,  units: GB"::= { repertorySituation  5 }RepertoryNum OBJECT-TYPESYNTAX Int (0..65535)ACCESS read-onlySTATUS mandatoryDESCRIPTION"quantity in stock"::= { repertorySituation 6 }--结束标志
END

SNMP——使用MIB-Browser 并编写 MIB库相关推荐

  1. mib browser读取飞塔mib文件的oid

    mib browser读取飞塔mib文件的oid 一.下载飞塔防火墙下载mib文件 二.下载mib browser工具,安装 http://www.ireasoning.com/download.sh ...

  2. MIB Browser使用方法

    1.1 安装MIB Browser MIB Browser工具用于查询SNMP Agent上的MIB变量,接收SNMP Agent上报的Trap消息,是用来调试验证NetEco SNMP性能北向接口不 ...

  3. MIB Browser建立新的叶子节点

    打开MIB Browser 首先在MIB选项卡中,对"RFC 1213-MIB"进行Unload MIB Module 单击菜单栏Action→Run MIB Compiler,找 ...

  4. SNMP客户端工具MIB Browser

    1.说明 SNMP客户端工具MIB Browser, 全名iReasoning MIB Browser, 是一个功能强大.易于使用的MIB管理工具, 支持Windows,Linux,MACOS等多种平 ...

  5. mib browser无法接收snmp trap消息解决

    1. 检查snmp服务器是否正确的配置了trap消息且正确发送出来: net-snmp采用修改配置文件的方式如下: trap2sink 192.168.1.123:162 public 这里的ip地址 ...

  6. SNMP功能开发简介 五 使用MIB Builder创建MIB文件图文介绍

    开发snmp功能一般都会涉及到添加私有节点,此外还要提供给其他人私有节点的MIB文件以方便查看.这里使用MG SOFT提供的MIB Builder工具创建MIB文件,工具下载链接:https://pa ...

  7. 网络协议篇之SNMP协议(二)—— 管理信息库MIB及OID

    上篇文章提到一套完整的SNMP系统主要包括管理信息库(MIB).管理信息结构(SMI)及SNMP报文协议. 本篇我们来学习管理信息库(MIB) 一.管理信息库MIB 任何一个被管理的资源都表示成一个对 ...

  8. iReasoning MIB Browser安装配置及简单使用

    iReasoning MIB Browser下载安装 iReasoning官网:http://www.ireasoning.com/ 此软件官网个人版免费,专业版和企业版均收费. 若供学习使用,可以在 ...

  9. mib browser打开mib文件

    1.如下图,通过mib compiler工具编译.mib格式的文件,点击ok,则会将文件进行编译,编译完成后,如第二张图所示,点击save all按钮将编译后的smidb文件保存到mib browse ...

  10. 编写 react-redux 库,封装 react-reduc.js 的心里路程(原理及详解)

    React redux 是(React全家桶)的核心成员 编写 react-redux 库关键在于两点: 创建一个 connect高阶函数完成对子孙组件的封装 真正意义上连接了 React和 Redu ...

最新文章

  1. HTTP与HTTPS区别/HTTPS知识点
  2. JPress v2.0-rc.5 发布,同时新官网上线
  3. UA OPTI570 量子力学34 Harmonic Perturbation简介
  4. Eclipse 动态库调试(联合调试)
  5. 哈尔滨学院 计算机等级考试证书,2018年9月黑龙江哈尔滨学院计算机等级考试证书领取通知...
  6. 报错 插入更新_自增主键,三类插入测验答案,在这里。
  7. java归还线程_再谈java线程
  8. C#线程的使用和测试
  9. 海洋泡沫结点图完整分析
  10. 错误记录(11): source is null for getProperty(null, name)
  11. 学号程序编辑 c语言,C语言程序设计实习报告 行编辑器 学生管理系统
  12. MySQL更新行和插入列的语句
  13. html5杂音,HTML5柏林噪音算法实现的墨汁浸染背景图片过渡动画特效
  14. 微信支付v2开发(6) 发货通知
  15. 【C++】黑白矩阵(美团)
  16. 【分享】精通并发与Netty教程
  17. 搜索引擎学习之旅3 - 搜索引擎工作流程
  18. python中函数的定义通常会从关键字_4.7. 深入 Python 函数定义
  19. 图片无损压缩(ubuntu 安装 )
  20. win7系统如何关闭安全模式,关闭安全模式的方法

热门文章

  1. Chrome IE 中QQ快速登录失效
  2. 在低代码中平台记录sortablejs拖拽使用经验
  3. STM32与MPC-6050通讯
  4. 洛谷每日三题之第六天
  5. 计算机一些简单快捷键,最全的电脑常用快捷键大全 电脑快捷键使用大全
  6. 系统没有java控制面板,手把手教你解答win7系统打开java控制面板的解决教程
  7. Linux系统如何隐藏一个文件?
  8. 解决SharePoint 2003的爬网性能问题- 之四
  9. 代码中的Status和State语义
  10. python 转义字符——学习笔记