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 words, 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
You need a MIB parser - for example Mibble (available under GPL and commercial license).
I know thread is old, but it may help others. One can use SNMP4J-SMI jar get a name description for OIDS in MIB
How to use SNMP4J-SMI with SNMP4J
Just fyi it comes under License Commercial
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.
来源:https://stackoverflow.com/questions/2916937/java-getting-name-description-for-oids-in-mib