Mibble竟然只能加载开发包中自带的mib文件,无法加载其他工具中的带的。下面做了一些比较的情况。
采用mibble开发包中的mib和ireasoning mibbrowser中带的比较
RFC1115-SMI,无区别
RFC1212,不同。
mibble
RFC-1212 DEFINITIONS ::= BEGIN
IMPORTS
-- FIX: added additional imports (NetworkAddress, IpAddress)
ObjectName, NetworkAddress, IpAddress
FROM RFC1155-SMI;
-- DisplayString
-- FROM RFC1158-MIB;
OBJECT-TYPE MACRO ::=
ireasoning
RFC1212-MIB DEFINITIONS ::= BEGIN
IMPORTS
ObjectName
FROM RFC1155-SMI
DisplayString
FROM RFC1158-MIB;
OBJECT-TYPE MACRO ::=
差别在于mibble中修改为增加了NetworkAddress和IpAddress的载入,屏蔽了RFC1158。
标准的MIB为ireasoning
RFC1213,不同。
Mibble,
ifType的类型为标准MIB中定义的32个
ifOperStatus 类型只有三个状态,up,down,testing
ireasoning
ifType的类型增加至241个,
ifOperStatus 类型有七个状态,up,down,testing,unknow,dormant,notPresent,lowerLayerDown
标准MIB同mibble提供的,
Mibble对ireasoning载入时的出错
Error: in D:/ireasoning/mibbrowser/mibs/RFC1158-MIB: line 20:
couldn't find referenced MIB 'RFC-1212'
FROM RFC-1212;
^
Error: in D:/ireasoning/mibbrowser/mibs/RFC1213-MIB: line 8:
couldn't find referenced MIB 'RFC-1212'
FROM RFC-1212;
^
Warning: in D:/ireasoning/mibbrowser/mibs/RFC-1212: line 69:
missing import for 'NetworkAddress', using definition from
RFC1155-SMI
NetworkAddress,
^
Warning: in D:/ireasoning/mibbrowser/mibs/RFC-1212: line 71:
missing import for 'IpAddress', using definition from RFC1155-SMI
IpAddress
^
原因:NetworkAddress,IpAddress在RFC1212中没有导入。
测试其它MIB的导入情况,大多是基础MIB RFC1212 、SNMV2-CONF等导致导入不正确,mibble在解析时对于数据类型的查找有问题,SNMPv2-CONF比标准的MIB多了
IMPORTS ObjectName, NotificationName, ObjectSyntax
FROM SNMPv2-SMI;
。
因此作者在开发时只好在修改了基础MIB,这个问题对于专用的MIB解析软件好象有点不应该。