我正在使用 gosnmp 包从节点获取 SNMP 值。返回的值是十六进制字符串。如何使用 MIB 中指定的显示提示和文本约定将其转换为显示字符串。
有可用的 MIB 解析器,但他们会将 OID 转换为文本名称,这不是我的要求。
例如https://www.rfc-editor.org/rfc/rfc2579定义
PhysAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1x:"
STATUS current
DESCRIPTION
"Represents media- or physical-level addresses."
SYNTAX OCTET STRING
现在,如果我们将十六进制字符串转换为 ascii,因为ifPhysicalAddress
它的形式是,XXXXXXXXXXXX
但如果我们应用 DISPLAY-HINT,它会变成XX:XX:XX:XX:XX:XX
我们可以根据具体情况进行处理,但是否有一个库或其他东西可以读取 MIB 并返回显示字符串。