Exercice Python : réalisation de tâches admin simples

Exercice Python : réalisation de tâches admin simples - Aide aux devoirs - Emploi & Etudes

Marsh Posté le 09-02-2018 à 13:30:51    

Bonjour,  
 
Je dois développer un programme en Python pour réaliser des tâches simples d’administration
réseau (à partir d'une configuration de topologie simple faite sous GNS3).
 
Voici les exigences :
 
 
Réaliser un programme en Python pour récupérer à distance la configuration du ou des
routeurs
o Utiliser les modules «sys » ou « argparse » pour gérer la liste des paramètres passés
au programme.
o La connexion vers les routeurs distants se fera de façon sécurisée (SSH)
Le FQDN ou l’IP du routeur sera passé en paramètre du programme.
Le login et le mot de passe seront renseignés de façon interactive.
o Afficher un menu pour choisir la liste des commandes à exécuter (show)
show run
show ip int br
show ip
show cdp neighbors
sh cdp neighbor detail
sh interface status
 
Merci !

Reply

Marsh Posté le 09-02-2018 à 13:30:51   

Reply

Marsh Posté le 09-02-2018 à 13:35:11    

De rien

Reply

Marsh Posté le 09-02-2018 à 13:36:31    

C'est quoi ces réponses à la c.. !

Reply

Marsh Posté le 09-02-2018 à 16:17:41    

Quelle est la question que tu poses ?


---------------
La chute n’est pas un échec. L’échec c’est de rester là où on est tombé. (Socrate)
Reply

Marsh Posté le 09-02-2018 à 16:42:45    

La librairie qui implémente SSH en python s'appelle Paramiko, mais pour se connecter à des équipements réseaux (dans ton cas Cisco), on utilise généralement netmiko.
 
from netmiko import ConnectHandler
 
cisco_881 = {
    'device_type': 'cisco_ios',
    'ip':   '10.10.10.10',
    'username': 'test',
    'password': 'password',
    'port' : 8022,          # optional, defaults to 22
    'secret': 'secret',     # optional, defaults to ''
    'verbose': False,       # optional, defaults to False
}
 
net_connect = ConnectHandler(**cisco_881)
output = net_connect.send_command('show ip int brief')
 
cf https://github.com/ktbyers/netmiko
 
Pour afficher un menu avec la liste des commandes, le plus simple est d'utiliser tkinter ou flask, selon que tu veux un programme ou une app web.
 
Pour des réseaux multi-vendeur, on utilise généralement NAPALM, qui permet de faire la même chose sans se soucier du type d'équipement / OS (Cisco ios/nx-os/ios-xr, junos, eos...)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed