logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Mon::SNMP - decode SNMP trap

Caveats

       Mon::SNMP depends upon Convert::BER to do the real work.

perl v5.40.1                                       2025-03-04                                     Mon::SNMP(3pm)

Description

       Mon::SNMP provides methods to decode SNMP trap PDUs. It is based on Graham Barr's Convert::BER module,
       and its purpose is to provide SNMP trap handling to "mon".

       It is not complete, so don't bother trying to use it unless you are ready to debug and write some code.

Environment

       None.

Errors

       All methods return a hash with no elements upon errors which they detect, and the detail of the error  is
       available from the

Examples

           use Mon::SNMP;

           $trap = new Mon::SNMP;

           $trap->buffer($snmptrap);

           %traphash = $trap->decode;

           foreach $oid (keys $traphash{"varbindlist"}) {
               $val = $traphash{"varbindlist"}{$oid};
               print "oid($oid) = val($val)\n";
           }

Methods

new creates a new Mon::SNMP object.

       buffer ( buffer )
           Assigns a raw SNMP trap message to the object.

       decode
           Decodes  a  SNMP trap message, and returns a hash of the variable assignments for the SNMP header and
           trap protocol data unit of the associated message. The hash consists of the following members:

                   version         =>      SNMP version (1)
                   community       =>      community string
                   ent_OID         =>      enterprise OID of originating agent
                   agentaddr       =>      IP address of originating agent
                   generic_trap    =>      /COLDSTART|WARMSTART|LINKDOWN|LINKUP|AUTHFAIL|EGPNEIGHBORLOSS|ENTERPRISESPECIFIC/
                   specific_trap   =>      specific trap type (integer)
                   timeticks       =>      timeticks (integer)
                   varbindlist     =>      { oid1 => value, oid2 => value, ... }

Name

       Mon::SNMP - decode SNMP trap

Notes

See Also

       Graham Barr's Convert::BER module.

Synopsis

           use Mon::SNMP;

           $trap = new Mon::SNMP;

           $trap->buffer($snmptrap);

           %traphash = $trap->decode;

           $error = $trap->error;

See Also