преобразовать строку октета SNMP в текстовое соглашение в golang

Я использую пакет gosnmp для получения значений SNMP с узла. Возвращаемые значения представлены в шестнадцатеричной строке. Как преобразовать его в строку отображения, используя подсказку по отображению и текстовое соглашение, указанное в MIB.

Доступен синтаксический анализатор MIB, но они будут выполнять преобразование OID в текстовое имя, что не является моим требованием.

например, https://tools.ietf.org/html/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 и возвращает строку отображения.

0 ответов

Другие вопросы по тегам