Номера SNMPD, добавленные к моему OID

I зарегистрировал свой собственный OID в IANA. В этом посте мы назовем его 99999.

поэтому в моем файле snmpd.conf (Ubuntu 14)

я добавил следующую строку

extend .1.3.6.1.4.1.99999.1 test /bin/echo hello

Когда я получаю snmpget с oid .1.3.6.1.4.1. 99999.1, ожидая ответа "привет", я не нашел.

Итак, я решил сделать snmpwalk из .1.3.6.1.4.1.99999 и получил следующее

.1.3.6.1.4.1.99999.1.1.0  =  1
.1.3.6.1.4.1.99999.1.2.1.2.4.116.101.115.116   =  /bin/echo
.1.3.6.1.4.1.99999.1.2.1.3.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.2.1.4.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.2.1.5.4.116.101.115.116   =  5
.1.3.6.1.4.1.99999.1.2.1.6.4.116.101.115.116   =  1
.1.3.6.1.4.1.99999.1.2.1.7.4.116.101.115.116   =  1
.1.3.6.1.4.1.99999.1.2.1.20.4.116.101.115.116  =  4
.1.3.6.1.4.1.99999.1.2.1.21.4.116.101.115.116  =  1
.1.3.6.1.4.1.99999.1.3.1.1.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.3.1.2.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.3.1.3.4.116.101.115.116   =  1
.1.3.6.1.4.1.99999.1.3.1.4.4.116.101.115.116   =  0
.1.3.6.1.4.1.99999.1.4.1.2.4.116.101.115.116   =  hello

Хорошо, это не то, что я ожидал. На моем старом сервере Ubuntu 8 я бы получил ответ от oid .1.3.6.1.4.1.99999.1 как привет

Итак, вопрос в том, что это за штука после моего oid? (.2.1.2.4.116.101.115.116 и т. Д.)

Я предполагаю, что числа после "my" oid.

имеют какой-то смысл / логику. Это правильный oid для использования в snmpget для получения "привет" назад

Любые указатели были бы полезны.

Заранее большое спасибо.

* Добавлены комментарии после моего исходного сообщения *

Хорошо, я вычислил некоторые числа, добавленные к моему oid.

Глядя на oid .1.3.6.1. 4.1.99999.1.2.1.2.4.116.101.115.116

Последний раздел - ascii 116.101.115.116 равно "test"

, так что в середине

2.1.2.4
2.1.3.4
2.1.4.4
2.1.5.4
and so on...

Я все еще не понимаю, почему это все добавлен в мой OID в первую очередь.

На моем старом SNMP Ubuntu 8 я мог просто выполнить snmpget по номеру oid (.1.3.6.1.4.1.99999.1). Я провел тест в строке exec snmpd.conf и получил ответ «привет» обратно

Со всеми этими добавленными числами к старому, как мне узнать, на каком oid мне нужно установить snmpget?

Аналогичным образом, как бы вы могли создать значимый полный файл MIB, чтобы он соответствовал всему этому?

ARGH !!! Перегрузка SNMP ....

Помогите !!!

3
задан 29 March 2016 в 16:54
1 ответ

Это может быть старый вопрос, но в документации не очень много информации о том, почему SNMP работает именно так, и я какое-то время боролся с этим беспорядком, Итак, начнем.

Раздел extend создает новую структуру MIB с указанным вами OID и добавляет ряд значений из NET-SNMP-EXTEND-MIB, а затем добавляет другие значения в зависимости от имени указана в директиве расширения.

В вашем примере базовый OID - .1.3.6.1.4.1.99999.1 . SNMPd дублирует структуру MIB из NET-SNMP-EXTEND-MIB и добавляет ее к этому OID. Я воспроизвел базовое дерево MIB ниже, полный MIB можно найти по адресу http://net-snmp.sourceforge.net/docs/mibs/NET-SNMP-EXTEND-MIB.txt

.1: nsExtendNumEntries
.2: nsExtendConfigTable
  .1: nsExtendConfigEntry
    .1: nsExtendToken
    .2: nsExtendCommand
    .3: nsExtendArgs
    .4: nsExtendInput
    .5: nsExtendCacheTime
    .6: nsExtendExecType
    .7: nsExtendRunType
    .20: nsExtendStorage
    .21: nsExtendStatus
.3: nsExtendOutput1Table
  .1: nsExtendOutput1Entry
    .1: nsExtendOutput1Line
    .2: nsExtendOutputFull
    .3: nsExtendOutNumLines
    .4: nsExtendResult
.4: nsExtendOutput2Table
  .1: nsExtendOutput2Entry
    .2: nsExtendOutput2Entry 

Персонаж длина имени добавляется, затем имя преобразуется в ASCII и добавляется в виде десятичных значений.

Итак, разбивка ответа OID .1.3.6.1.4.1.99999.1.3.1.1.4.116.101.115.116 = hello выглядит следующим образом:

.1.3.6.1.4.1.99999.1 : base OID

  .3                 : nsExtendOutput1Table
    .1               : nsExtendOutput1Entry
      .1             : nsExtendOutput1Line
        .4           : Length of name ("test" in this case)
          .116       : ASCII t
            .101     : ASCII e
              .115   : ASCII s
                .116 : ASCII t

И поскольку этот OID представляет собой значение nsExtendOutput1Line, которое возвращает первую строку выходных данных команды, значением является «hello».

1
ответ дан 3 December 2019 в 07:25

Теги

Похожие вопросы