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

Modules Perl Discussion :

Telnet conf switch


Sujet :

Modules Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 197
    Points : 78
    Points
    78
    Par défaut Telnet conf switch
    Bonjour a tous
    je souhaiterais ecrire un script qui permet de recuperer des conf de switchs mais le souci c'est que je ne sais pas comment simuler un "more"
    Comment est il possible de definir une commande qui permet de simuler l appuis de la touche espace !!!!
    J espere avoir été clair.
    Merci d avance
    Jules

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Tu peux regarder l'information contenue dans :
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 197
    Points : 78
    Points
    78
    Par défaut
    Merci maintenant je sais comment on peut passer outre le probleme de --more-- mais et pour la touche entrée ? une idée ?
    Merci Jules

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Espace ou Entrée ? Ce n'est pas la même chose ! En tout cas, tu peux utiliser la méthode put() pour envoyer n'importe quel caractère (" " ou "\n" par exemple) au terminal Telnet.
    NB : Tu as le droit de lire la documentation d'un module lorsque tu te poses une question à son sujet, si si je t'assure ! (tu aurais eu ta réponse bien plus vite...)

    --
    Jedaï

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 197
    Points : 78
    Points
    78
    Par défaut
    Merci a tous pour votre aide, j ai finalment utilisé le net::telnet::cisco et qui gère automatiquement le probleme lié au more ou entrée. Voici mon prog qui va chercher dans un fichier les IP des switch concerné!

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    #!/usr/bin/perl
     
    use strict;             #Permet d utiliser des variables de type globales
    #use Net::Telnet;       #Package permettant de creer une session telnet
    use Net::Telnet::Cisco;
    my $username="user_script_LAN"; #Le loggin
    my $passwd="read-only"; ####
    my $Ligne_Fichier_Adresse_IP; #Contient la ligne courante du fichier matos
    my $Ligne_Fichier_Config;#Contient la ligne courante du fichier power
    my $Nom_switch_Courant;
    my $Adresse_IP_courante;
    my $Resultat_ping;
     
    #############################################################################
    #####                 ICI on recupere les configurations
    #############################################################################
    open(Fichier_Adresse_IP,"</var/home/rappju/projet_3/base_Lan-19-05-06.txt") || die ("probleme fichier adresse ip :\n $! ");
    open(Fichier_PB_IP,">/var/home/rappju/projet_3/prob_IP") || die ("probleme fichier adresse ip :\n $! ");
     
    while ($Ligne_Fichier_Adresse_IP = <Fichier_Adresse_IP> )
    #On parcourt le fichier type_matos_lan.txt pointe par son descripteur Fichier_Materiel
    {
            next if (($Ligne_Fichier_Adresse_IP) =~ m/^$/);
            #Cette ligne permet d'omettre toutes les lignes vides !!! On ne considere donc que les lignes utiles
            {
     
                    if(($Ligne_Fichier_Adresse_IP) =~ /(.*);(.*);/)
                    {
                            $Nom_switch_Courant=$1;
                            $Adresse_IP_courante=$2;
                            print"\n##Nom_switch_Courant[$Nom_switch_Courant]#Adresse_IP_courante[$Adresse_IP_courante]###\n";
                            require sous_fonc_ping;
                            $Resultat_ping=(&sous_fonc_ping::Fonc_Ping($Adresse_IP_courante));
                            if($Resultat_ping =~ /[1-9] packets received/)#Spartacus
                            {
                                    my $telnet =  Net::Telnet::Cisco->new(  Timeout=>5, ErrMode => 'return', Prompt => '/.*#/');
                                    $telnet->open(Host=>$Adresse_IP_courante);
                                    $telnet->login($username, $passwd);
                                    my @results = $telnet->cmd("copy startup-config tftp://10.45.58.19\n\n\n\n");
                                    $telnet->close;
                            }
                            else
                            #Adresse IP non joignable
                            {
                                    print"\n#Nom_switch_Courant$Nom_switch_Courant#Adresse_IP_courante$Adresse_IP_courante#\n";
                                    print Fichier_PB_IP "$Nom_switch_Courant;$Adresse_IP_courante;\n";
                            }
                    }
                    else
                    #Cas ou l on a un probleme de recuperation des adresses IP et nom
                    {
                    #On fait rien
                    }
     
            }#Cas des lignes non vides
    }#Fin while qui parcourt le fichier d adressage
    close Fichier_Adresse_IP;
    close Fichier_PB_IP;
    Voila un code qui peut toujours servir
    Bonne journée Jules

Discussions similaires

  1. Problème conf switch HP Procurve 2910
    Par Jb_One36 dans le forum Développement
    Réponses: 1
    Dernier message: 31/01/2012, 12h01
  2. faire du telnet vers un switch avec perl sous windows
    Par Mounr dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 06/04/2009, 20h07
  3. connexion switch via telnet
    Par sisina dans le forum Hardware
    Réponses: 2
    Dernier message: 26/02/2008, 14h25
  4. [VB]configurer un switch via telnet
    Par eozenn dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 07/02/2008, 08h23
  5. Perl telnet commande d'un switch Alcatel
    Par lotonetwork dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 18/03/2007, 12h51

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