1

Over the past week or so I've spent time getting to know SNMP. I have quickly learnt that the bane of working with SNMP devices, to create simple monitoring tools, are the MIBs.

In my particular situation, Xerox aren't helpful with giving out MIBs so I'm left with thousands of unidentified objects when I perform a walk on a printer.

Many of these undescribed OIDs have values but of course I have no idea what they represent.

What are the typical procedures that's most successful in terms of results to resolve these unknown OIDs? I have time and the willingness to dig deeper but I'm just not sure where to start.


NB: I've already tried generic MIBs, and potential Xerox MIBs but all the descriptions seem very vague and don't explicitly indicate their purposes. This guy managed to identify a few in relation to the previously linked MIB but I have no idea how he worked it out because the description for those objects are ridiculously vague.

This is for a Python 2.7 script.

codaamok
  • 717
  • 3
  • 11
  • 21
  • Can you add the top OID root that is missing when you snmpwalk to the question ? Have you tried sites like http://www.oid-info.com/ ? – k1eran Jul 31 '15 at 16:52
  • I don't have that available at the moment, I will do Monday >.< and I've tried many MIB databases but I haven't come across that particular site as of yet, thanks for sharing. – codaamok Jul 31 '15 at 16:56
  • Also try retrieving SNMPv2-MIB::sysORTable in case that lists MIBs the devices is supporting as described at http://stackoverflow.com/a/25870754/449347 – k1eran Jul 31 '15 at 16:57
  • It's very rare that a numeric OID cannot be found and identified via simple Google searches. Do `snmpwalk -Ont` to get numeric output. If the MIB can't be found online, I guess the vendor's support channels are your only option. (There ought to be a law that they have to ship the MIB as part of the documentation, if you ask me...) – Jolta Aug 01 '15 at 22:10
  • @k1eran "No Such Object currently exists at this OID" - safe to say this table isn't being used by our printer manufacturer. – codaamok Aug 03 '15 at 15:04
  • 1
    As @Jolta says: we need a change in the law :-) – k1eran Aug 03 '15 at 15:34

1 Answers1

0

I'm second for checking sysORTable contents.

If that does not help you could try downloading as many MIBs as you can find and then load them all into snmpwalk (via -m ALL option) or do that for subsets of MIBs to conserve memory. Then walk your printer and see what MIBs are reported by snmpwalk.

If you could not load many MIBs into memory, I can propose a very peculiar approach.

You can take available MIB names from here, take latest development pysnmp/pysnmp-apps packages, then list all OIDs defines in each MIB:

$ snmptranslate.py -To XEROX-GENERAL-MIB::
.1.3.6.1.4.1.253.8.51
.1.3.6.1.4.1.253.8.51.1
.1.3.6.1.4.1.253.8.51.1.2
...

Once you know what OIDs are in what MIB, you could match OIDs you fetch from printer against OIDs found in MIBs. That way you figure what MIBs are implemented by your printer.

Ilya Etingof
  • 5,440
  • 1
  • 17
  • 21
  • Iiya, thank you for your answer. Can you double check your syntax for `snmptranslate.py -To XEROX-GENERAL-MIB::` please? I'm having to use `python pysnmptranslate -To XEROX-GENERAL-MIB::` and my error is `"Error: MIB file "XEROX-COMMON-MIB.py[co]" not found in search path`. Giving the full absolute path gives a `"Command-line parser error at token string "` – codaamok Aug 04 '15 at 10:07
  • 1
    You need the latest (unreleased) packages from the repos. See hyperlinks in the answer. Make sure to properly install them so that their dependencies would be pulled as well. – Ilya Etingof Aug 05 '15 at 11:31