有一组来自不同供应商设备的snmp陷阱OID,例如Cisco / Juniper / Arista等...
例如:1.3.6.1.4.1.6101.1.8.8.2.1
我们想知道每个OID的陷阱名称。有超过300个OID。
通过编程,我们使用python将所有陷阱OID存储在集中。
检索陷阱名称的最佳方法是什么?是否有任何公共存储库提供陷阱OID到陷阱名称的映射?
答案 0 :(得分:1)
您可以在所有MIB上运行mibbuild.py --destination-format json工具。您将为每个MIB文件获得一个JSON文档。 JSON文档的外观为like this:
"coldStart": {
"name": "coldStart",
"oid": "1.3.6.1.6.3.1.1.5.1",
"class": "notificationtype",
"status": "current"
},
您可以从此处将JSON加载到Python中,创建一个像dict
这样的新{json[key]['oid']: key for key in json}
,可用于通过OID查找TRAP名称。
如果您的MIB集合正在更改并且需要不断更新,则可以通过调用pysmi函数将上述过程构建到应用程序中。
编辑:
如果需要将任何TRAP OID解析为其MIB名称,则可以获取Internet上找到的MIB数量,并对它们运行以上过程。但是,您仍然可能无法解决您在野外遇到的所有TRAP OID。在您的软件正在管理的所有设备上都有MIB更为常见。
mibdump
工具的默认设置是从http://mibs.snmplabs.com/asn1/网站提取请求的MIB。
答案 1 :(得分:0)
1.3.6.1.4.1.6101.1.8.8.2.1==>
1.3.6.1.4.1。 == ...民营企业(值得记忆)
6101 == 趋势科技公司的 private.enterprise 编号,这些#s 保持在 https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
1.8.8.2.1 == 需要从 Trend Micro, Inc. 直接获取 MIB。
--显然,您需要加载所有需要解码的 MIB,python 才能工作。 MIB 也可以引用其他 MIB,因此它可能会变得混乱。我一直都是手动完成的,所以我不能谈论任何工具来做到这一点。但是我不需要对 SNMP 做太多事情。您的情况可能有所不同。