SNMP MIB库
-- mib文件的开头指定文件名,并且使用BEGIN开始,文件的最后用END结束 -- IMPORTS就相当与c语言中的include,包含需要使用的一些数据类型 -- 通过FROM指定引用的来源 MOXA-CN2600-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises, IpAddress, OBJECT-TYPE FROM SNMPv2-SMI DateAndTime, TEXTUAL-CONVENTION, MacAddress, DisplayString FROM SNMPv2-TC; -- 不同的公司在enterprises节点下注册注册自己的id,moxa的节点是8691 -- 使用OBJECT IDENTIFIER指定OID moxa OBJECT IDENTIFIER ::= { enterprises 8691 } -- 1.3.6.1.4.1.8691 -- 指定nport串口服务器是在moxa节点下的分支,id是2 -- oid: 1.3.6.1.4.1.8691.2 nport OBJECT IDENTIFIER ::= { moxa 2 } -- 1.3.6.1.4.1.8691.2 -- 产品型号cn2600,是在nport串口服务器分支下,节点是11 -- oid: 1.3.6.1.4.1.8691.2.11 cn2600 MODULE-IDENTITY LAST-UPDATED "201003040000Z" ORGANIZATION "Moxa Inc." CONTACT-INFO "Email: support@moxa.com Tel : +886 2 89191230 ext.300" DESCRIPTION "The MIB module for Moxa Terminal Server CN2600 series specific information." ::= { nport 11 } -- 1.3.6.1.4.1.8691.2.11 -- ------------------------------------------------------------- -- groups in the MOXA-CN2600-2AC MIB -- ------------------------------------------------------------- swMgmt OBJECT IDENTIFIER ::= { cn2600 1 } -- 1.3.6.1.4.1.8691.2.11.1 -- ------------------------------------------------------------- -- Textual Conventions -- ------------------------------------------------------------- PortList ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Each octet within this value specifies a set of eight ports, with the first octet specifying ports 1 through 8, the second octet specifying ports 9 through 16, etc. Within each octet, the most significant bit represents the lowest numbered port, and the least significant bit represents the highest numbered port. Thus, each port of the bridge is represented by a single bit within the value of this object. If that bit has a value of '1' then that port is included in the set of ports; the port is not included if its bit has a value of '0'." SYNTAX OCTET STRING -- ------------------------------------------------------------- -- swMgmt group -- ------------------------------------------------------------- -- ------------------------------------------------------------- -- Overview -- ------------------------------------------------------------- overview OBJECT IDENTIFIER ::= { swMgmt 1 } -- 1.3.6.1.4.1.8691.2.11.1.1 -- 模块名称 -- 类型:DisplayString,类似字符串 -- 访问权限:只读 -- 状态:当前 -- id: overview 1 -- 1.3.6.1.4.1.8691.2.11.1.1.1 modelName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The model name of the CN2600." ::= { overview 1 } -- 1.3.6.1.4.1.8691.2.11.1.1.1 -- 数据类型:整型 serialNumber OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The serial number of the CN2600. Every Terminal Server CN2600 series is assigned a unique serial number before it is shipped." ::= { overview 2 } firmwareVersion OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The version of the firmware currently running on the CN2600." ::= { overview 3 } -- 类型:ip地址 viewLan1IpAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the CN2600's LAN1 interface." ::= { overview 4 } -- 类型:mac地址 viewLan1MacAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The MAC address of the CN2600's LAN1 interface." ::= { overview 5 } -- 省略其中的一些。。。。。 -- 可以指定整型的范围之后0,1两个值,类似枚举 -- 前面的"power-off","power-on"用于描述 power1Status OBJECT-TYPE SYNTAX INTEGER { power-off(0), power-on(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "The on/off status of power 1" ::= { overview 11 } power2Status OBJECT-TYPE SYNTAX INTEGER { power-off(0), power-on(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "The on/off status of power 2 for 2AC model" ::= { overview 12 } -- ------------------------------------------------------------- -- Basic settings -- ------------------------------------------------------------- basicSetting OBJECT IDENTIFIER ::= { swMgmt 2} -- 1.3.6.1.4.1.8691.2.11.1.2 -- ------------------------------------------------------------- -- Basic settings -> Server settings -- ------------------------------------------------------------- serverSetting OBJECT IDENTIFIER ::= { basicSetting 1 } -- 1.3.6.1.4.1.8691.2.11.1.2.1 serverName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "A text string used to identify the CN2600." ::= { serverSetting 1 } serverLocation OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "A text string used to identify the location of the CN2600. This option is useful for specifying the location or application of different CN2600." ::= { serverSetting 2 } -- ------------------------------------------------------------- -- Basic settings -> Time settings -- ------------------------------------------------------------- timeSetting OBJECT IDENTIFIER ::= { basicSetting 2 } -- 1.3.6.1.4.1.8691.2.11.1.2.2 -- 时间设置,可以进行读写 timeZone OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "The time-zone index of the CN2600." ::= { timeSetting 1 } localTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-write STATUS current DESCRIPTION "The system time in seconds since 1970/1/1." ::= { timeSetting 2 } -- ------------------------------------------------------------- -- Serial port settings -- ------------------------------------------------------------- portSetting OBJECT IDENTIFIER ::= { swMgmt 4 } -- 1.3.6.1.4.1.8691.2.11.1.2.4 -- ------------------------------------------------------------- -- Serial port settings -> Operation Modes settings -- ------------------------------------------------------------- opModeSetting OBJECT IDENTIFIER ::= { portSetting 1 } -- 1.3.6.1.4.1.8691.2.11.1.2.4.1 -- -------------------------------------------------------------------------------------- -- Serial port settings -> Operation Modes settings -> Operation Modes -- -------------------------------------------------------------------------------------- opMode OBJECT IDENTIFIER ::= { opModeSetting 1 } -- 1.3.6.1.4.1.8691.2.11.1.2.4.1.1 -- 表类型的定义 -- 使用SEQUENCE OF定义一种新的类型OpModePortEntry -- 有点像C语言中结构体的定义 -- opModePortTable是表名,开头必须小写,并且结尾必须包含"Table" -- 1.3.6.1.4.1.8691.2.11.1.2.4.1.1.1 opModePortTable OBJECT-TYPE SYNTAX SEQUENCE OF OpModePortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The serial ports' operation mode table." ::= { opMode 1 } -- 表中一行的名称:opModePortEntry,每行数据的数据类型是一样的 -- 类型是:OpModePortEntry -- 1.3.6.1.4.1.8691.2.11.1.2.4.1.1.1.1 -- 表中第一个必须是INDEX,作为索引,并且是不可访问的。 opModePortEntry OBJECT-TYPE SYNTAX OpModePortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The serial port's operation mode entry." INDEX { portIndex } ::= { opModePortTable 1 } -- 表中数据类型 ,类似结构体定义,并且第一个是INDEX -- 一行中,每一列的数据类型定义如下 -- INDEX如果前面定义了,就说使用前面一个表的索引,那么这里也可以省略 OpModePortEntry ::= SEQUENCE { portIndex INTEGER, portApplication INTEGER, portMode INTEGER } -- 对索引的定义,权限不可访问,里面没有数据,所以访问也没有意义 -- 1.3.6.1.4.1.8691.2.11.1.2.4.1.1.1.1.1 -- 在一行opModePortEntry中,第一个元素 portIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The serial port index." ::= { opModePortEntry 1 } -- 表中一行中第二个元素的定义 -- 1.3.6.1.4.1.8691.2.11.1.2.4.1.1.1.1.2 portApplication OBJECT-TYPE SYNTAX INTEGER { disable(0), device-Control(4), socket(11), redundant-Com(5), drdas(9), terminal(2), reverse-Terminal(3), dial-InOut(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "The application of the serial port. Note that changing this setting may also change the operation mode." ::= { opModePortEntry 2 } -- 1.3.6.1.4.1.8691.2.11.1.2.4.1.1.1.1.3 portMode OBJECT-TYPE SYNTAX INTEGER { real-Com(2), slip(4), slipd(5), ppp(6), disable(7), telnetd(8), dynamic(9), tcp-Server(10), tcp-Client(13), udp(14), pppd(15), term-ASC(16), term-BIN(17), rfc-2217(20), redundant-Com(22), drdas-Real-Com(23), drdas-Tcp-Server(24), } MAX-ACCESS read-write STATUS current DESCRIPTION "The operation mode of the serial port. Note that changing this setting may also change the application." ::= { opModePortEntry 3 } END