IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation et administration système Perl Discussion :

[Telnet] Impossible de me loguer sur un switch nortel :(


Sujet :

Programmation et administration système Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Points : 31
    Points
    31
    Par défaut [Telnet] Impossible de me loguer sur un switch nortel :(
    Hello

    Je cherche à me loguer sur un switch afin d'effectuer des commandes (un copy tftp).

    Voilà une partie de mon script comprenant la principale partie de mon switch :


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    sub Recup_nortel {
    	@switch_nortel_details = split(/ /, $switch_nortel_conf);
    	$prompt =qw(/\>/);
    	$out_log='log/Out_Log_'.@switch_nortel_details[1].'.txt';
    	$in_log='log/In_Log_'.@switch_nortel_details[1].'.txt';
    	$dump_log='log/Dump_Log_'.@switch_nortel_details[1].'.txt';
     
    	#`touch /tftpboot/@switch_nortel_details[1]`;
    	#`chmod og-r+w /tftpboot/@switch_nortel_details[1]`;
     
    	$t= new Net::Telnet (Timeout=>30,
    					Errmode=>'return',
    					Dump_log=>$dump_log,
    					Input_log=>$in_log,
    					Output_log=>$out_log,
    					prompt=>$prompt
    					);
     
    	print ("Réception de @switch_nortel_details[1] du switch @switch_nortel_details[0] ... \n");
    	$t->open(@switch_nortel_details[0]);
    	$var_0=chr(25);
    	@ctrly=$t->print($var_0);
     
    	$t->waitfor("/Username:/") or die "ERREUR : Mauvais login !";
    	$var_1="@switch_nortel_details[2]";
    	@login=$t->print($var_1);
     
    	#$var_4=chr(13);
    	#@enter1=$t->print($var_4);
     
    	$t->waitfor("/Password:/") or die "ERREUR : Mauvais password !";
    	$var_2="@switch_nortel_details[3]";
    	@password=$t->print($var_2);
     
    	#@enter2=$t->print($var_4);
     
    	$var_3=chr(67);
    	@majc=$t->print($var_3);
     
    	$t->cmd("enable");
    	$t->cmd("copy running-config tftp address $serveur_tftp filename @switch_nortel_details[1]");
    	$t->close;
    	print ("Envoi du fichier sur $serveur_tftp terminé.\n");
    	return 1;
    }
    Le problème est qu'apparament je n'arrive pas à me loguer sur le switch : Je passe bien le Ctrl-Y qui est demandé, mais une fois que je dois envoyer le login et le password, visiblement ça ne marche pas.

    Je ne m'en sors pas, help

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Points : 31
    Points
    31
    Par défaut
    J'ai très légèrement modifié mon code pour apporter une légère correction, le voici actuellement :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    sub Recup_nortel {
    	@switch_nortel_details = split(/ /, $switch_nortel_conf);
    	$prompt =qw(/\>/);
    	$out_log='log/Out_Log_'.@switch_nortel_details[1].'.txt';
    	$in_log='log/In_Log_'.@switch_nortel_details[1].'.txt';
    	$dump_log='log/Dump_Log_'.@switch_nortel_details[1].'.txt';
     
    	$t= new Net::Telnet (Timeout=>25,
    					Errmode=>'return',
    					Dump_log=>$dump_log,
    					Input_log=>$in_log,
    					Output_log=>$out_log,
    					#prompt=>$prompt
    					);
     
    	print ("Réception de @switch_nortel_details[1] du switch @switch_nortel_details[0] ... \n");
    	$t->open(@switch_nortel_details[0]);
    	$var_0=chr(25);
    	@ctrly=$t->print($var_0);
     
    	$t->waitfor('/Enter Username: $/i');
    	$var_1="@switch_nortel_details[2]";
    	#@login=$t->print($var_1);
    	$t->print($var_1);
     
    	$t->waitfor('/Enter Password: $/i');
    	$var_2="@switch_nortel_details[3]";
    	#@password=$t->print($var_2);
    	$t->print($var_2);
     
    	$var_3=chr(67);
    	@majc=$t->print($var_3);
     
    	$t->cmd("enable");
    	$t->cmd("copy running-config tftp address $serveur_tftp filename @switch_nortel_details[1]");
    	$t->close;
    	print ("Envoi du fichier sur $serveur_tftp terminé.\n");
    	return 1;
    }
    Mais toujours le même problème, je suis à peu près certains que le problème vient de cette portion de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $t->waitfor('/Enter Username: $/i');
    	$var_1="@switch_nortel_details[2]";
    	#@login=$t->print($var_1);
    	$t->print($var_1);
    Quand je regarde la fin du dump_log, je vois ceci :

    < 0x00000: 1b 5b 31 34 3b 31 48 1b 5b 32 4b 1b 5b 31 34 3b .[14;1H.[2K.[14;
    < 0x00010: 32 36 48 45 6e 74 65 72 20 50 61 73 73 77 6f 72 26HEnter Passwor
    < 0x00020: 64 3a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a d: *************
    < 0x00030: 2a 2a 07 07 07 07 07 07 07 07 07 07 07 07 07 07 **..............
    < 0x00040: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 ................
    < 0x00050: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 ................
    < 0x00060: 1b 5b 31 34 3b 32 36 48 1b 5b 32 4b 55 73 65 72 .[14;26H.[2KUser
    < 0x00070: 6e 61 6d 65 20 6e 6f 74 20 73 65 74 2e name not set.

    < 0x00000: 0d 0a ..

    < 0x00000: 0d 0a 54 65 6c 6e 65 74 20 4c 6f 67 69 6e 20 54 ..Telnet Login T
    < 0x00010: 69 6d 65 72 20 45 78 70 69 72 65 64 20 21 0d 0a imer Expired !..
    < 0x00020: 00
    .

    En gros, il semble attendre qu'on valide le login (ou qu'on l'entre, mais je pense qu'il est entré déjà) pour passer au password.. J'ai essayé comme dans le code plus haut, j'ai également envoyé des Ctrl+M (pour forcer la validation) en decimal, rien y change.. Impossible de passer cette étape.


    Là j'ai vraiment besoin d'un coup de main, je ne m'en sors pas :\

Discussions similaires

  1. Net::Telnet sur un switch linksys
    Par pierra56 dans le forum Modules
    Réponses: 0
    Dernier message: 03/05/2013, 11h17
  2. Telnet sur des switchs Cisco
    Par developpeur99 dans le forum Langage
    Réponses: 1
    Dernier message: 14/10/2010, 21h35
  3. MSDE: impossible de me logguer sur MSDE...
    Par Webman dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 07/11/2006, 16h15
  4. [Language] aide sur les switch case
    Par pouss dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2005, 11h34
  5. Aide sur un switch 3com
    Par Gladiator dans le forum Développement
    Réponses: 5
    Dernier message: 06/02/2004, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo