solution multi-plateforme pour automatiser les sessions telnet de type ncurses
-
20-09-2019 - |
Question
Historique
Une partie de mon travail en réseau et l'automatisation implique telco sessions telnet lorsque le matériel existant ne propose pas de solutions faciles dans d'autres interfaces. Beaucoup d'anciens équipements ne sont accessibles via les ports d'artisanat (RS-232 ports série), SNMP ou Telnet. Parfois, telnet est le seul moyen d'accéder à des informations spécifiques, mais telnet est conçu comme une interface humaine et nécessite donc racler écran. En outre, il y a aussi la question des écrans où raclant parties seulement sont mises à jour afin d'économiser la bande passante (voir ncurses ). Dans mon travail, je l'ai utilisé ActiveState et Expect la bibliothèque telnet Python.
Question
Quelles sont les langues et les bibliothèques sont capables d'automatiser les sessions telnet et ont les exigences suivantes:
- Convient pour les grands projets (par exemple Tcl ne semble pas à l'échelle, ainsi que Python dans mon expérience et semble dépassée)
- Plate-forme Cross (par exemple pexpect ne fonctionne pas sur Windows et ActiveState Attendez-vous sur se comporte différemment Le plus de Windows nécessite DEP plus récent machines à éteindre)
- Capable d'écran des séances de grattage qui repeignent parties de l'écran (Similaire au comportement de ncurses dans les programmes de ligne de commande)
- Gratuit comme dans la bière!
Une solution préférable comprendrait également les éléments suivants:
- facilement redistribuable (par exemple t-elle pas exigent une grande exécution pour être installé sur une machine.)
- fonctionne également pour les connexions SSH, série, ainsi que d'autres interfaces de ligne de commande.
La solution
Jetez un oeil à des démonstrations / Attendez-vous / term_expect dans la distribution ActiveTcl. Il émule un terminal adressable curseur et vous permet de tester la sortie à des emplacements d'écran spécifiques. Consultez le code-grattage exemple d'écran à la fin du fichier.