我在MIB中有这个对象
userId OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..30))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Id for user"
REFERENCE "CFG:WRITE"
::= { config 1 }
我通过snmp请求访问此对象。使用snm4j。
但是当我执行这段代码时
VariableBinding vb = res.get(j);
Variable v = vb.getVariable();
log.debug(vb.getVariable().getSyntaxString());
它仅返回" OCTET STRING"而SIZE(0..30)没有任何内容 我可以通过snmp get请求获取有关SIZE(0..30)的信息,使用snmp4j吗?
答案 0 :(得分:0)
为了扩展Lex Li的评论,你正在使用的snmp4j类没有MIB信息。它只解码在网络字节中看到的类型信息。您可以使用例如Wireshark看到发送的字节不包含任何大小限制。
为了了解约束,您必须在解码SNMP PDU之前读取MIB文件。通常,企业级SNMP管理器会为托管代理加载MIB文件,以便执行此操作。正如Lex所说,SNMP4J库在免费版本中没有这样做。如果您需要该功能,可以使用SMI Pro version。