script PERL via module SNMP
Bonjour,
J'essaye de me connecter en SNMP sur un routeur 10.1.1.5:4221 (avec login: admin et pwd: *******)
L'ip, port, login, pwd et communauté sont des arguments passés au script
donc je fais:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
my $oid = '1.3.6.1....';
my ($session, $error); # variable pour la session SNMP
sub connect(){
($session, $error) = Net::SNMP->session(
-hostname => $ip_address,
-port => $port,
-community => $community,
-version => 'snmpv3',
-username => $username, # v3
-authpassword => $authpasswd, # v3
-timeout => 3,
);
request_error() if (!defined($session));
}
sub request_error(){
print "-ERR-";
$session->close;
exit $OUTPUT{UNKNOWN};
} |
et il m'imprime "-ERR-" :s
et "Can't call method "close" on an undefined value at /usr/local/NomDuScript.pl on line 35"
Par contre quand je fais j'exécute ce code à la place pour un autre équipement ayant juste une ip, ça fonctionne
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
sub connect(){
($session, $error) = Net::SNMP->session(
-hostname => $ip_address,
-community => $community,
-version => '2c',
-timeout => 3,
);
if (!defined($session)) {
printf("ERROR: %s.\n", $error);
exit $OUTPUT{UNKNOWN};
}
}
sub request_error(){
printf("SNMP ERROR: %s.\n", $session->error);
$session->close;
exit $OUTPUT{UNKNOWN};
} |
ici il se connecte bien :s
Ma question est comment utiliser un login et pwd et un port à l'ip lors d'une connection SNMP? car comme j'ai fait, ça ne foncitonne pas :(
merci de votre aide
edit: après moult essai et config...
ça fonctionne via la 2eme solution ;-)