http://www.perlmonks.org?node_id=9402
Category: network management
Author/Contact Info ergowolf
Description: This program is GREAT for testing snmp and discovering the community name for the device.
use BER;
require 'SNMP_Session.pm';

my $host = @ARGV[0];
my $community = public;
my $port = 161;

$session = SNMP_Session->open ($host, $community,
$port) || die "couldn't open SNMP session to $host";

$oid1 = encode_oid (1, 3, 6, 1, 2, 1, 1, 1, 0);

if ($session->get_request_response ($oid1)) {
($bindings) = $session->decode_get_response
($session->{pdu_buffer});

        while ($bindings ne '') {
        ($binding,$bindings) = &decode_sequence ($bindings);
        ($oid,$value) = &decode_by_template ($binding,
"%O%@");
        print $pretty_oids{$oid}," => ",
        &pretty_print ($value), "\n";
        }
} else {
die "No response from agent on $host";
}
Replies are listed 'Best First'.
Re: snmping.pl
by khippy (Scribe) on Sep 18, 2001 at 14:39 UTC
    Hi ergowolf, hi all,

    interested in SNMP, I tried your code, which gave
    errors, here's the cleaned code:
    #!/usr/local/bin/perl -w use BER; require 'SNMP_Session.pm'; my $host = $ARGV[0]; my $community = 'public'; my $port = 161; $session = SNMP_Session->open ($host, $community, $port) || die "could +n't open SNMP session to $host"; $oid1 = encode_oid (1, 3, 6, 1, 2, 1, 1, 1, 0); %ugly_oids = qw(sysDescr.0 1.3.6.1.2.1.1.1.0 sysContact.0 1.3.6.1.2.1.1.4.0); foreach (keys %ugly_oids) { $ugly_oids{$_} = encode_oid (split (/\./, $ugly_oids{$_})); $pretty_oids{$ugly_oids{$_}} = $_; } if ($session->get_request_response ($oid1)) { ($bindings) = $session->decode_get_response ($session->{pdu_buffer}); while ($bindings ne '') { ($binding,$bindings) = &decode_sequence ($bindings); ($oid,$value) = &decode_by_template ($binding, "%O%@"); print $pretty_oids{$oid}," => ", &pretty_print ($value), "\n"; } } else { die "No response from agent on $host"; }


    --

    there are no silly questions killerhippy
RE: snmping.pl
by ergowolf (Monk) on Apr 27, 2000 at 23:55 UTC
    I forgot to add the modules come with mrtg from www.mrtg.org
    Ergowolf Does code make a sound if no one is there to type it?