无法在模拟SNMP4J代理中注册OID

时间:2019-05-29 18:33:47

标签: java snmp snmp4j

我正尝试模拟SNMP代理以进行测试。我遇到的问题是我无法注册模拟代理程序需要产生的某些OID。特别: 1.3.6.1.2.1.33.1.3.3.1.4.1 1.3.6.1.2.1.33.1.3.3.1.4.2 1.3.6.1.2.1.33.1.3.3.1.4.3 这些OID用于UPS上的输入电流。

我尝试将0附加到OID的末尾,这确实摆脱了异常,但由于我在模拟真实系统,因此不适用于我的情况,因此需要对其进行匹配。我需要注册的所有其他OID都可以正常工作。

import Home from "../containers/Home";

在默认上下文中使用范围org.snmp4j.agent.mo.MOScalar [oid = 1.3.6.1.2.1.33.1.3.3.1.4.1,access = MOAccessImpl {read | write | notify}注册了MO [MOScalar],值= 3,volatile = false] 注册失败 org.snmp4j.agent.DuplicateRegistrationException:org.snmp4j.agent.DefaultMOContextScope [context = null,lowerBound = 1.3.6.1.2.1.33.1.3.3.1.4,lowerIncluded = true,upperBound = 1.3.6.1.2.1.33.1.3.3。 1.5,upperIncluded = false]

1 个答案:

答案 0 :(得分:0)

如果实际系统中的OID并未以.0结尾,则这些OID属于SNMP表,而不属于标量值。然后,您应该使用DefaultMOTable来模拟那些对象。

对于SNMP变量的只读(和读写)通用模拟,也可以使用StaticMOGrouphttps://snmp4j.org/agent/doc/index.html