首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SNMP陷阱,必需的OID: sysuptime和id

SNMP陷阱,必需的OID: sysuptime和id
EN

Stack Overflow用户
提问于 2013-12-12 16:50:40
回答 2查看 9.1K关注 0票数 3

我试图理解SNMP陷阱的格式。我正在将一段代码从windows移植到linux,以发送SNMP陷阱。windows代码使用内置库(一些函数包括SnmpStartup、SnmpSetRetransmitMode )。可能称为WinSNMP ),因此在移植到Linux时无法保留该代码。

我找到了一个名为SNMP++的很好的库,它可以轻松地发送SNMP陷阱。

据我理解,SNMP陷阱的前两个变量绑定(vb)字段必须满足特定格式。第一个版本是sysuptime (基本上是陷阱的时间戳),它具有众所周知的1.3.6.1.2.1.1.3.0 OID。

第二个vb是陷阱的ID。我在任何地方都找不到任何文档,但是SNMP++给出了陷阱的ID和1.3.6.1.6.3.1.1.4.1.0的OID (它的值是我们发送的陷阱的OID )。它使用pdu.set_notify_id函数进行设置。

这是另一个众所周知的在发送陷阱时必须在场的OID吗?windows库根本不使用这个OID。它将ID字段的OID设置为我们要发送的OID,因此OID及其值被设置为相同的内容。它看起来是手动做的,所以格式可能没有被原编码器很好地理解。

那么,哪一个是正确的?

代码语言:javascript
复制
windows:
1.3.6.1.4.1.XXXX.2.1.51 -> 1.3.6.1.4.1.XXXX.2.1.51

SNMP++:
1.3.6.1.6.3.1.1.4.1.0 -> 1.3.6.1.4.1.XXXX.2.1.51

为什么我找不到关于这个1.3.6.1.6.3.1.1.4.1.0值的任何文档?它似乎没有在任何RFCs,我读过。谷歌的OID给出了结果,但他们没有解释它的用途。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-13 07:04:36

有关SNMP的任何问题,请从IETF SNMP RFC文档开始。显然,陷阱v2必须有两个对象,如RFC 3416第22页所述,

https://www.rfc-editor.org/rfc/rfc3416#page-22

我只能说,如果WinSNMP不遵循惯例,它是不符合标准的,应该由微软修复。

票数 3
EN

Stack Overflow用户

发布于 2014-09-17 21:20:52

代码语言:javascript
复制
/**
 * TrapType defines the type of SNMPv2/SNMPv3 trap,
 * this is defined in the SNMPv2-MIB as snmpTrapOID.0
 * (.1.3.6.1.6.3.1.1.4.1.0) with an OID value of one
 *  of the following
 */
public static final String SNMP_TRAP_OID = "1.3.6.1.6.3.1.1.4.1.0";

/** coldStart OID */
public static final String COLDSTART_OID = "1.3.6.1.6.3.1.1.5.1";

/** warmStart OID */
public static final String WARMSTART_OID = "1.3.6.1.6.3.1.1.5.2";

/** linkDown OID */
public static final String LINKDOWN_OID = "1.3.6.1.6.3.1.1.5.3";

/** linkUp OID */
public static final String LINKUP_OID = "1.3.6.1.6.3.1.1.5.4"

oid.html

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20549332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档