j'ai compris

SDN et automatisation - Python Telnetlib

publié il y a  2021-9-2 10:38:49 157 0 0 0 0

introduction

Le telnetlib est un module de la bibliothèque Python standard. Il fournit la classe telnetlib.Telnet pour implémenter la fonction Telnet. Voir RFC854 pour plus de détails sur le protocole :  https://datatracker.ietf.org/doc/html/rfc854.html .

Différentes méthodes de la classe telnetlib.Telnet sont appelées pour implémenter différentes fonctions.

from telnetlib import Telnet # Importe  la classe Telnet du module telnetlib.

tn = Telnet(host=None, port=0[, timeout]) #  Crée une connexion Telnet à un serveur spécifié.

tn.read_all()                            # Invoque la méthode read_all().

Telnetlib


Pour plus d'informations, consultez https://docs.python.org/3/library/telnetlib.html .

Exemple de configuration

Telnetlib


Le processus de mise en œuvre est le suivant :

1. Configurez le serveur Telnet

[Huawei] interface utilisateur vty 0 4

[Huawei-ui-vty0-4] mot de passe du mode d'authentification

[Huawei-ui-vty0-4] définir le mot de passe d'authentification simple Huawei@123

[Huawei-ui-vty0-4] protocole telnet entrant

[Huawei-ui-vty0-4] niveau de privilège utilisateur 15

[Huawei-ui-vty0-4] quitter

[Huawei] serveur telnet activé

2. Vérifiez et affichez manuellement la procédure de connexion Telnet comme référence pour la mise en œuvre du code.

En utilisant le système d'exploitation Windows comme exemple :

C:\>telnet 192.168.10.10

Authentification de connexion

Mot de passe:

Info : Le nombre maximum d'utilisateurs VTY est de 5, et le nombre d'utilisateurs VTY actuels en ligne est 1.

L'heure de connexion actuelle est 2020-12-31 21:00.

%

<Huawei>

3. Compilez et exécutez le code Python.


import telnetlib                                         Importe le module.

host ='192.168.10.10'                                # Définit l'adresse IP d'un hôte

password = 'Huawei@123'                     # Définit le mot de passe pour se connecter à l'appareil

tn = telnetlib.Telnet(host)                 # Se connecte         à l'hôte via Telnet.

tn.read_until(b'Password:')                   # Imprime les données jusqu'à ce que 'Password: ' s'affiche

tn.write(password.encode('ascii') + b'\n')      # Définit un mot de passe ASCII et commence une nouvelle ligne

print (tn.read_until(b'<Huawei>').decode('ascii))   # Imprime les données jusqu'à ce que <Huawei> soit affiché.

tn.close()                                          # Ferme la connexion Telnet.


En Python, les fonctions encode() et decode() sont utilisées pour coder et décoder des chaînes dans un format spécifié, respectivement. Dans cet exemple, password.encode('ascii') consiste à convertir la chaîne HuaweiQ @123 au format ASCll. Le format d'encodage est conforme aux exigences officielles du module telnetlib.

Ajoutez une chaîne b, b'str' , indiquant que la chaîne est un objet bytes. Dans cet exemple, b'Password' : indique que la chaîne Password :' est convertie en une chaîne de type bytes. Le format d'encodage est conforme aux exigences officielles du module telnetlib.

Pour plus d'informations sur les objets Python, consultez

https://docs.python.org/3/reference/datamodel.html#objects-values-and-types .

4. Vérifiez le résultat.

# Exécutez le code Python dans le compilateur.

Info : Le nombre maximum d'utilisateurs VTY est de 5, et le nombre d'utilisateurs VTY actuels en ligne est 1.

L'heure de connexion actuelle est 2020-12-31 21:00.

%

<Huawei>


  • x
  • Standard:

Commentaire

Connectez-vous pour répondre. Se connecter | Enregistrer
envoyer

Remarque : Afin de protéger vos droits et intérêts légitimes, ceux de la communauté et des tiers, ne divulguez aucun contenu qui pourrait présenter des risques juridiques pour toutes les parties. Le contenu interdit comprend, sans toutefois s'y limiter, le contenu politiquement sensible, le contenu lié à la pornographie, aux jeux d'argent, à l'abus et au trafic de drogues, le contenu qui peut divulguer ou enfreindre la propriété intellectuelle d'autrui, y compris les secrets professionnels, les marques commerciales, les droits d'auteur et les brevets, ainsi que la vie privée personnelle. Ne partagez pas votre nom d'utilisateur ou votre mot de passe avec d'autres personnes. Toutes les opérations effectuées à partir de votre compte seront considérées comme vos propres actions, et toutes les conséquences en découlant vous seront imputées. Pour plus de détails, voir « Accord utilisateur ».

My Followers

Connectez-vous pour participer à la communication et au partage

S'identifier

Bloquer
Êtes-vous sûr de bloquer cet utilisateur?
Les utilisateurs de votre liste noire ne peuvent ni commenter votre publication,ni vous mentionner, ni vous envoyer de messages privés.
Rappel
Veuillez lier votre numéro de téléphone pour obtenir un bonus d'invitation.
Guide de Protection de L'information
Merci d'utiliser la Communauté D'assistance Huawei Enterprise ! Nous vous aiderons à savoir comment nous recueillons, utilisons, stockons et partageons vos informations personnelles et les droits que vous avez conformément à Politique de Confidentialité et Contrat D'utilisation.