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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ;-)