• 9

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191


File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

SNMPD Numbers added to my OID

I've registered my own oid with IANA. For this post we'll call it 99999.

so in my snmpd.conf file (Ubuntu 14)

I added the following line

extend . test /bin/echo hello

When I get a snmpget with the oid ., expecting a reply of hello I got not found.

So decided to do a snmpwalk from . and I got the following

.  =  1
.   =  /bin/echo
.   =  hello
.   =  hello
.   =  5
.   =  1
.   =  1
.  =  4
.  =  1
.   =  hello
.   =  hello
.   =  1
.   =  0
.   =  hello

Ok that's not what I was expecting. On my old Ubuntu 8 server I would get a reply from oid . as hello

So the question is what's the stuff after my oid? (., etc)

I assume there is some sort of meaning/logic to the numbers after "my" oid.

which is the correct oid to use in a snmpget to get the "hello" back

Any pointers would be useful.

Many thanks in advance.

* Added comments after my original post *

Ok, I've worked out some of the numbers added to my oid.

Looking at the oid .

The last section is ascii equals "test"

so what's the stuff in the middle
and so on...

I'm still confused as to why this is all added to my OID in the first place.

On my old Ubuntu 8 SNMP I could simple do a snmpget on the oid number (. I had test in the snmpd.conf exec line and get the result 'hello' back

With all these added numbers to the old how do I know what oid I need to go a snmpget on?

Likewise how on earth would you create a meaning full MIB file to match it all?

ARGH!!! SNMP Overload....


This may be an old question, but the documentation out there isn't very forthcoming as to why SNMP is acting like it is, and I've been struggling with this mess for a while, so here goes.

The extend stanza creates a new MIB structure at the OID you specify, and appends a number of values from NET-SNMP-EXTEND-MIB, then appends more values depending on the name specified in the extend directive.

In your example, the base OID is . SNMPd duplicates the MIB structure from NET-SNMP-EXTEND-MIB and appends it to this OID. I've replicated the basic MIB tree below, the full MIB can be found at 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 

The character length of the name is appended, then the name is converted to ASCII and appended as decimal values.

So the breakdown of the OID response . = hello is as follows:

. : 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

And since this OID is the nsExtendOutput1Line value, which returns the first line of the command output, the value is "hello".

  • 1
Reply Report

Warm tip !!!

This article is reproduced from Stack Exchange / Stack Overflow, please click

Trending Tags