- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试了解 SNMP 陷阱的格式。我正在将一段代码从 Windows 移植到发送 SNMP 陷阱的 Linux。 Windows 代码使用内置库(一些函数包括 SnmpStartup、SnmpSetRetransmitMode。可能称为 WinSNMP),因此在移植到 Linux 时无法保留该代码。
我发现了一个名为 SNMP++ 的不错的库,它能够轻松发送 SNMP 陷阱。
据我了解,SNMP 陷阱的前两个变量绑定(bind) (vb) 字段必须符合特定格式。第一个 vb 是系统运行时间(基本上是陷阱的时间戳),它具有众所周知的 OID 1.3.6.1.2.1.1.3.0
。
第二个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 及其值设置为同一事物。看起来它是手动完成的,因此原始编码器可能没有很好地理解格式。
那么,哪一个是正确的?
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
值的任何文档?它似乎不在我读过的任何 RFC 中。谷歌搜索 OID 给出了结果,但他们没有解释它的用途。
最佳答案
对于任何 SNMP 问题,请从 IETF SNMP RFC 文档开始。显然 TRAP v2 必须具有两个对象,如 RFC 3416 第 22 页所述,
https://www.rfc-editor.org/rfc/rfc3416#page-22
我只能说如果 WinSNMP 不符合约定,它不符合标准,应该由 Microsoft 修复。
关于linux - SNMP 陷阱,所需的 OID : sysuptime and id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20549332/
我正在尝试了解 SNMP 陷阱的格式。我正在将一段代码从 Windows 移植到发送 SNMP 陷阱的 Linux。 Windows 代码使用内置库(一些函数包括 SnmpStartup、SnmpSe
我是一名优秀的程序员,十分优秀!