DOKK / manpages / debian 12 / mon-client / Mon::SNMP.3pm.en
Mon::SNMP(3pm) User Contributed Perl Documentation Mon::SNMP(3pm)

Mon::SNMP - decode SNMP trap

    use Mon::SNMP;
    $trap = new Mon::SNMP;
    $trap->buffer($snmptrap);
    %traphash = $trap->decode;
    $error = $trap->error;

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.

creates a new Mon::SNMP object.
Assigns a raw SNMP trap message to the object.
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, ... }
    

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

    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";
    }

None.

Graham Barr's Convert::BER module.

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

2021-01-04 perl v5.32.0