Números SNMPD adicionados ao meu OID

3

Eu registrei meu próprio documento com a IANA. Para este post vamos chamá-lo 99999.

no meu arquivo snmpd.conf (Ubuntu 14)

Eu adicionei a seguinte linha

extend .1.3.6.1.4.1.99999.1 test /bin/echo hello

Quando eu obtenho um snmpget com o oid .1.3.6.1.4.1.99999.1, esperando uma resposta de ola eu não fui encontrado.

Então decidi fazer um snmpwalk de .1.3.6.1.4.1.99999 e consegui o seguinte

.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

Ok, não é isso que eu esperava. No meu antigo servidor Ubuntu 8 eu teria uma resposta do oid .1.3.6.1.4.1.99999.1 como oi

Então a questão é qual é a coisa depois do meu oid? (.2.1.2.4.116.101.115.116, etc)

Eu suponho que há algum tipo de significado / lógica para os números após o "meu" oid.

qual é o oid correto para usar em um snmpget para obter o "olá" de volta

Qualquer ponteiro seria útil.

Muito obrigado antecipadamente.

* Adicionados comentários após minha postagem original *

Ok, eu trabalhei alguns dos números adicionados ao meu oid.

Olhando para o oi .1.3.6.1.4.1.99999.1.2.1.2.4.116.101.115.116

A última seção é ascii 116.101.115.116 é igual a "teste"

então qual é o material no meio

2.1.2.4
2.1.3.4
2.1.4.4
2.1.5.4
and so on...

Eu ainda estou confuso sobre o porquê isso é tudo adicionado ao meu OID em primeiro lugar.

No meu velho Ubuntu 8 SNMP eu poderia fazer um simples snmpget no oid number (.1.3.6.1.4.1.99999.1) Eu tinha testado na linha snmpd.conf exec e obter o resultado 'olá' de volta

Com todos esses números adicionados ao antigo, como eu sei o que devo fazer um snmpget?

Da mesma forma, como você criaria um arquivo MIB completo que correspondesse a todos?

ARGH !!! Sobrecarga de SNMP ....

Ajuda !!!

    
por Ian Chilvers 29.03.2016 / 12:56

1 resposta

1

Esta pode ser uma questão antiga, mas a documentação por aí não é muito clara sobre por que o SNMP está agindo como é, e eu tenho lutado com essa bagunça por um tempo, então aqui vai.

A sub-rotina extend cria uma nova estrutura MIB no OID especificado e acrescenta vários valores de NET-SNMP-EXTEND-MIB e acrescenta mais valores, dependendo do nome especificado no estender a diretiva.

No seu exemplo, o OID de base é .1.3.6.1.4.1.99999.1 . O SNMPd duplica a estrutura da MIB do NET-SNMP-EXTEND-MIB e a anexa a este OID. Eu repliquei a árvore MIB básica abaixo, o MIB completo pode ser encontrado no link

.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 

O comprimento do caractere do nome é acrescentado e, em seguida, o nome é convertido em ASCII e anexado como valores decimais.

Portanto, o detalhamento da resposta OID .1.3.6.1.4.1.99999.1.3.1.1.4.116.101.115.116 = hello é o seguinte:

.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

E como esse OID é o valor nsExtendOutput1Line, que retorna a primeira linha da saída do comando, o valor é "hello".

    
por 31.07.2017 / 08:19