Current Path : /usr/share/doc/perl-Net-SNMP-6.0.1/examples/ |
Current File : //usr/share/doc/perl-Net-SNMP-6.0.1/examples/trap.pl |
#! //bin/env perl # ============================================================================ # $Id: trap.pl,v 6.0 2009/09/09 15:05:33 dtown Rel $ # Copyright (c) 2000-2009 David M. Town <dtown@cpan.org> # All rights reserved. # This program is free software; you may redistribute it and/or modify it # under the same terms as the Perl 5 programming language system itself. # ============================================================================ use strict; use warnings; use Net::SNMP qw( :ALL ); my ($session, $error) = Net::SNMP->session( -hostname => $ARGV[0] || 'localhost', -community => $ARGV[1] || 'public', -port => SNMP_TRAP_PORT, # Need to use port 162 ); if (!defined $session) { printf "ERROR: %s.\n", $error; exit 1; } ## Trap example specifying all values. my $result = $session->trap( -enterprise => '1.3.6.1.4.1', -agentaddr => '10.10.1.1', -generictrap => WARM_START, -specifictrap => 0, -timestamp => 12363000, -varbindlist => [ '1.3.6.1.2.1.1.1.0', OCTET_STRING, 'Hub', '1.3.6.1.2.1.1.5.0', OCTET_STRING, 'Closet Hub', ], ); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); } else { printf "Trap-PDU sent.\n"; } ## A second trap example using mainly default values. my @varbind = ( '1.3.6.1.2.1.2.2.1.7.0', INTEGER, 1, ); $result = $session->trap(-varbindlist => \@varbind); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); } else { printf "Trap-PDU sent.\n"; } $session->close(); ## Create a new object with the version set to SNMPv2c ## to send a snmpV2-trap. ($session, $error) = Net::SNMP->session( -hostname => $ARGV[0] || 'localhost', -community => $ARGV[1] || 'public', -port => SNMP_TRAP_PORT, # Need to use port 162 -version => 'snmpv2c', ); if (!defined $session) { printf "ERROR: %s.\n", $error; exit 1; } $result = $session->snmpv2_trap( -varbindlist => [ '1.3.6.1.2.1.1.3.0', TIMETICKS, 600, '1.3.6.1.6.3.1.1.4.1.0', OBJECT_IDENTIFIER, '1.3.6.1.4.1', '1.3.6.1.2.1.1.1.0', OCTET_STRING, 'Hub', '1.3.6.1.2.1.1.5.0', OCTET_STRING, 'Closet Hub', ] ); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); } else { printf "SNMPv2-Trap-PDU sent.\n"; } $session->close(); exit 0; # ============================================================================