我正在尝试制作一个 snmp v2c trap 解析器。我可以成功解析其中的大部分内容,但在字段序列方面我有点卡住了。字段序列是 OID 及其对应值的列表。我可以从示例中的不同 OID 存储库中获得的一些 OID 的含义1.3.6.1.2.1.1.3.0
是sysUpTimeInstance
。
但是,还有其他 OID 看起来像这样
1.3.6.1.4.1.3321.2.1.2.2.1.5.0
我知道数字 3321 代表代理商制造商。但我仍然不知道这个 OID 代表什么。我可以使用 MIB 检索它吗?如果可以,那么程序是什么?
答案1
如果您有包含相关信息的 MIB 文件,则可以使用snmptranslate
Net-SNMP 包中的实用程序来解析 OID。将 MIB 文件放入目录中并使用以下命令:
snmptranslate -m ALL -M +<DIR> -Td -On <OID>
对于您问题中给出的 OID,在我的系统上产生以下输出:
enterprises OBJECT-TYPE
-- FROM SNMPv2-SMI, RFC1155-SMI
::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) 3321 2 1 2 2 1 5 0 }
显然,我的系统对企业一无所知3321
。
这些企业号码由 IANA 分配,可在网站其中还列出了每个企业的联系人,如果您需要 MIB 文件,可以尝试联系他们。