如何从MIB获得DisplayString大小限制?

时间:2017-02-08 07:50:58

标签: java size snmp mib snmp4j

我在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吗?

1 个答案:

答案 0 :(得分:0)

为了扩展Lex Li的评论,你正在使用的snmp4j类没有MIB信息。它只解码在网络字节中看到的类型信息。您可以使用例如Wireshark看到发送的字节不包含任何大小限制。

为了了解约束,您必须在解码SNMP PDU之前读取MIB文件。通常,企业级SNMP管理器会为托管代理加载MIB​​文件,以便执行此操作。正如Lex所说,SNMP4J库在免费版本中没有这样做。如果您需要该功能,可以使用SMI Pro version