[SNMP4J] Designing an application to "learn" an SNMP enabled device.

Frank Fock fock at agentpp.com
Wed Apr 6 00:48:59 CEST 2011


Hi David,

The application you are trying to write
seems to be something like a MIB browser.
What are the reasons not to use MIB Explorer
for example?

Yes, if you need runtime MIB information,
then you will need JASMI (or some other
SMI parsing Java API).

Learning the supported MIB modules from
a device is probably not an approach
network management users really want
to use. Normally, you need to know the
MIB to be able to use the contained
information.
I think there were already tools that tried
to "discover" the supported MIB objects
in the agents/devices of a network.
It is my perception, that those approaches
were not widely accepted and successful.

Nowadays as security is very important,
discovery mechanisms become more and more
obsolete.

Hope this helps anyway.

Best regards,
Frank

On 05.04.2011 12:05, David Cooper wrote:
> Greetings from Australia!
>
>
>
> I'm a Software Engineer designing a prototype application for my work which
> can hopefully do the following:
>
> -          A user can input an IP of any SNMP enabled device on a local
> network
>
> -          The application then effectively "learns" about the device by
> walking its MIB (i.e. it queries the device for all of its SNMP data)
>
> -          The application displays the MIB in a tree format and groups
> certain OID's together in a table format (i.e. it might show the MIB-2
> System [1.3.6.1.2.1.1] sub-tree [I'm not too sure on the terminology of
> that] in one table for categorizations sake, rather than have everything all
> displayed on the screen at once)
>
> -          The user can then perform GETs and SETs on the appropriate
> objects
>
>
>
> The reason I use the term "learns" is because it would be ideal for this
> application to work with any device that is SNMP enabled, rather than taking
> the approach of "we will only be querying devices that use<insert MIB
> here>".
>
>
>
> I am relatively new to SNMP development (have been learning about SNMP and
> fooling around with the SNMP4J library since about January this year) and
> have been reading a couple of books on SNMP (Larry Walsh's  SNMP MIB
> Handbook and O'Reilly's Essential SNMP). In addition to this, I have
> searched the email archives and Google for people that are either A) trying
> to develop or have already developed a similar application, or B)
> encountering similar problems to those I am either expecting to encounter or
> have already encountered. Unfortunately this has not really turned up
> anything that I find adequate.
>
>
>
> I suppose the first question I have is whether or not this is actually
> possible? It seems like this might not really be what SNMP was intended to
> be used for (but I am determined to find this out for certain).
>
>
>
> Following on from this (given that it is possible), what would the best
> approach be to tackle such a problem? So far I have not determined a way to
> be able to query a device and effectively ask it what MIB it is using, I
> have either had to hard code a WALK from node .1 (this takes absolutely
> forever and I imagine this is definitely not ideal!) or I have had to
> perform a walk from the root note of the MIB that I know the device I am
> testing actually has. The latter goes against the design of the application
> - that this application should be able to learn a device regardless of what
> MIB it is using.
>
>
>
> The next question I have is a bit more specific to SNMP4J. I found this
> email http://lists.agentpp.org/pipermail/snmp4j/2007-July/002308.html and it
> raised the good question of whether I would need to be translating the OID's
> into its object name at runtime or compile time. My guess is that I would
> need to do this at runtime, being as I will be dealing with arbitrary
> devices. In this case, am I correct in assuming that JASMI will be the right
> tool for the job (because having only OID's will not provide enough
> information to the user as to what data is being retrieved of course)?
>
>
>
> Thanks for taking the time to read this email, if you require any more
> information I will respond as soon as possible. I apologise if my
> terminology/overall understanding of SNMP/SNMP4J is not as vast as it should
> be.
>
>
>
> Regards,
>
> David Cooper
>
>
>
> _______________________________________________
> SNMP4J mailing list
> SNMP4J at agentpp.org
> http://lists.agentpp.org/mailman/listinfo/snmp4j

-- 
AGENT++
http://www.agentpp.com
http://www.snmp4j.com
http://www.mibexplorer.com
http://www.mibdesigner.com




More information about the SNMP4J mailing list