views:

413

answers:

2

Hello,

I am programming a network management system, and need to be able to print out meaningful names behind the OIDs that are received from SNMP traps. Due to the nature/size of this system, it would not be a good idea to manually map every OID to a meaningful name for every MIB on every device that is being used.

With that said, is there a free (commercial use) way of automatically pairing name/description with their respective OID for all OIDs in a MIB; and then those pairings be used in a Java program?

In other wards, is there a tool (or method) that will convert a MIB tree to Java objects that can be traversed in a program to retrieve OID's names/descriptions?

Thanks

A: 

hey,

Very rare usage of SNMP i found dude. I also worked on SNMP. For that, SNMP4J is better library we can use in java.

http://www.snmp4j.org/

It supports v1,v2 and v3 for SNMP.

Also you can implement Mib tree walking using that, and you can fetch perticular OID name/description and value also. Its very cool and easy to use once to get into it.

Also note, that you need to provide the IP address in the device manager right? so that the device can send SNMP traps to your application which is listening on some port.

You need to open the port also for traps.

hope this helps. let me know if any queries. You need to dig more into it. You know how networking stuff works :).

thanks.

Paarth
I have been looking into trying to retrieve OID name/description using SNMP4j, but can't seem to find how to do it. Can you show me how to do that using SNMP4j? Thanks.
stjowa
Hey, you need to check the documentation provided. Basically MIB is universal registry kind of thing for the devices which wants to support SNMP. Vendor must register the MIB for device universally,so that each OID can be unique. Every OID has special meaning, and diff. for organizations. Please check the link for more examples how to use OID and variable bindings from SNMP4J.http://www.snmp4j.org/doc/org/snmp4j/package-summary.html
Paarth
Nope, that doesn't help. I understand SNMP and have used SNMP4J extensively. What I don't understand is how to get the OID name/description via SNMP4j. If you don't mind, give me a quick code snippet of how to get any OID's name/description via SNMP4j. Thanks.
stjowa
Ok, You want to read description of particular OID. For that you need to read the MIB file using MIB parsers. Please check the following link, it provides example for reading OID's description. Also check Mibble parse for MIB file loading.Links: http://www.webnms.com/snmp/help/snmpapi/snmpv1/tutorials/mib_handling/mibnodeinfo.html,https://smi4j.dev.java.net/,http://www.mibble.org/thanks.
Paarth
Ended up using a MIB parser. Thanks for the help.
stjowa
+1  A: 

You need a MIB parser - for example Mibble (available under GPL and commercial license).

L.R.
A good product. Would recommend for most situations; but unfortunately is not free for commercial use (1000 euros). SMI4j, however, is free for commercial use. But, the documentation is so sparse that it's not worth attempting to accomplish my need through it. Thanks though.
stjowa