SNMPTRANSLATE(1)

πŸ’… SNMPTRANSLATE(1) β€” the net-snmp OID glow-up machine πŸ’…

okay bestie, pull up a chair, this is the Net-SNMP manual page for snmptranslate (that's section 1, the user commands one) and honestly? it's lowkey iconic.


✨ NAME ✨

snmptranslate β€” translates MIB OID names back and forth between numeric and textual forms πŸ’–


🌸 SYNOPSIS 🌸

snmptranslate [OPTIONS] OID [OID]...
snmptranslate [OPTIONS] -

πŸ¦‹ DESCRIPTION πŸ¦‹

So snmptranslate is that girl who does conversions. She takes one or more SNMP object identifier values and flips them β€” symbolic (textual) form ➑️ numerical form, or the other way around. Both directions, no notes. ✨

OID here just means either a numeric object identifier or a textual one. Either is fine, she's not picky. 🫢

And then there's the special - argument, which is the "do a whole bunch at once" mode. Input comes from stdin, output goes to stdout. The input format can be a single object ID per line, OR it can straight up be the output of snmpwalk or snmpget. Like, you can pipe your whole walk output through her and she'll fix it up. obsessed. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -D[TOKEN[,...]] β€” turns on debugging output for whatever TOKEN(s) you name. Try ALL if you want extremely verbose output (like, girl is going to tell you everything, every single thing 😭).
  • -h β€” shows you a brief usage message and then dips out. short and sweet.
  • -m MIBLIST β€” names a colon separated list of MIB modules to load for this app. This overrides the environment variable MIBS. The special keyword ALL means "every module in every directory while searching for MIB files" β€” and every file whose name does not begin with . gets parsed as if it were a MIB file. so yeah, ALL goes feral, be ready. πŸ”₯
  • -M DIRLIST β€” names a colon separated list of directories to search for MIBs. This overrides the environment variable MIBDIRS.
  • -T TRANSOPTS β€” gives you control over the translation of the OID values. Here's the whole menu of TRANSOPTS, no skips:
    • -TB β€” print all matching objects for a regex search.
    • -Td β€” print full details of the specified OID. (the full lore dump πŸ’–)
    • -Tp β€” print a graphical tree, rooted at the specified OID. 🌈
    • -Ta β€” dump the loaded MIB in a trivial form.
    • -Tl β€” dump a labeled form of all objects.
    • -To β€” dump a numeric form of all objects.
    • -Ts β€” dump a symbolic form of all objects.
    • -Tt β€” dump a tree form of the loaded MIBs (mostly useful for debugging).
    • -Tz β€” dump a numeric and labeled form of all objects (compatible with MIB2SCHEMA format).
  • -V β€” displays version information for the application and then exits. quick lil hello πŸ‘‹
  • -w WIDTH β€” specifies the width of -Tp and -Td output. The default is very large. (she said wide, and she meant it.)
ngl, on top of all of the above, snmptranslate also takes the OID input (-I), MIB parsing (-M) and OID output (-O) options described in the INPUT OPTIONS, MIB PARSING OPTIONS and OUTPUT OPTIONS sections of the snmpcmd(1) manual page. so go read that one too, bestie, it's the prequel 🧚

πŸ”₯ EXAMPLES πŸ”₯

  • snmptranslate -On -IR sysDescr β€” will translate "sysDescr" to a more qualified form:
system.sysDescr
  • snmptranslate -Onf -IR sysDescr β€” will translate "sysDecr" to:
.iso.org.dod.internet.mgmt.mib-2.system.sysDescr
  • snmptranslate -Td -OS system.sysDescr β€” will translate "sysDecr" into:
SNMPv2-MIB::sysDescr
sysDescr OBJECT-TYPE
  -- FROM SNMPv2-MIB
  -- TEXTUAL CONVENTION DisplayString
  SYNTAX OCTET STRING (0..255)
  DISPLAY-HINT "255a"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "A textual description of the entity. This
               value should include the full name and
               version identification of the system's
               hardware type, software operating-system,
               and networking software."
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) 1 }
  • snmptranslate -Tp -OS system β€” will print the following tree:
+--system(1)
   |
   +-- -R-- String    sysDescr(1)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -R-- ObjID     sysObjectID(2)
   +-- -R-- TimeTicks sysUpTime(3)
   +-- -RW- String    sysContact(4)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -RW- String    sysName(5)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -RW- String    sysLocation(6)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -R-- Integer   sysServices(7)
   +-- -R-- TimeTicks sysORLastChange(8)
   |        Textual Convention: TimeStamp
   |
   +--sysORTable(9)
      |
      +--sysOREntry(1)
         |
         +-- ---- Integer   sysORIndex(1)
         +-- -R-- ObjID     sysORID(2)
         +-- -R-- String    sysORDescr(3)
         |        Textual Convention: DisplayString
         |        Size: 0..255
         +-- -R-- TimeTicks sysORUpTime(4)
                  Textual Convention: TimeStamp
  • snmptranslate -Ta | head β€” will produce the following dump:
dump DEFINITIONS ::= BEGIN
org ::= { iso 3 }
dod ::= { org 6 }
internet ::= { dod 1 }
directory ::= { internet 1 }
mgmt ::= { internet 2 }
experimental ::= { internet 3 }
private ::= { internet 4 }
security ::= { internet 5 }
snmpV2 ::= { internet 6 }
  • snmptranslate -Tl | head β€” will produce the following dump:
.iso(1).org(3)
.iso(1).org(3).dod(6)
.iso(1).org(3).dod(6).internet(1)
.iso(1).org(3).dod(6).internet(1).directory(1)
.iso(1).org(3).dod(6).internet(1).mgmt(2)
.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1)
.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1)
.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysDescr(1)
.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysObjectID(2)
.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysUpTime(3)
  • snmptranslate -To | head β€” will produce the following dump
.1.3
.1.3.6
.1.3.6.1
.1.3.6.1.1
.1.3.6.1.2
.1.3.6.1.2.1
.1.3.6.1.2.1.1
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.2
.1.3.6.1.2.1.1.3
  • snmptranslate -Ts | head β€” will produce the following dump
.iso.org
.iso.org.dod
.iso.org.dod.internet
.iso.org.dod.internet.directory
.iso.org.dod.internet.mgmt
.iso.org.dod.internet.mgmt.mib-2
.iso.org.dod.internet.mgmt.mib-2.system
.iso.org.dod.internet.mgmt.mib-2.system.sysDescr
.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID
.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime
  • snmptranslate -Tt | head β€” will produce the following dump
  org(3) type=0
    dod(6) type=0
      internet(1) type=0
        directory(1) type=0
        mgmt(2) type=0
          mib-2(1) type=0
            system(1) type=0
              sysDescr(1) type=2 tc=4 hint=255a
              sysObjectID(2) type=1
              sysUpTime(3) type=8
  • snmptranslate -OX - β€” with the following input:
SNMPv2-SMI::mib-2.14.1.1.0 = IpAddress: 192.0.2.1
SNMPv2-SMI::mib-2.14.1.2.0 = INTEGER: 1
SNMPv2-SMI::mib-2.14.1.3.0 = INTEGER: 2

will produce the following output:

OSPF-MIB::ospfRouterId.0 = IpAddress: 192.0.2.1
OSPF-MIB::ospfAdminStat.0 = INTEGER: 1
OSPF-MIB::ospfVersionNumber.0 = INTEGER: 2

πŸ‘‘ SEE ALSO πŸ‘‘

snmpcmd(1), variables(5), RFC 2578-2580.


and that's the whole page, bestie, you ate that πŸ“πŸ’œ

this was the Net-SNMP snmptranslate(1) page, version V5.9.5.2, dated 13 Nov 2013 β€” periodt, go translate some OIDs πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from