Rozwiązanie wieloplatformowe do automatyzacji sesji telnet typu ncurses

tło

Część mojej pracy w sieci i telco polega na automatyzacji sesji telnetu, gdy starszy sprzęt nie oferuje łatwych rozwiązań w innych interfejsach. Dostęp do wielu starszych urządzeń można uzyskać tylko przez porty rzemieślnicze (porty szeregowe RS-232), SNMP lub telnet. Czasami telnet jest jedynym sposobem uzyskania dostępu do konkretnych informacji, jednak telnet jest zaprojektowany jako interfejs ludzki i dlatego wymaga skrobania ekranu. Ponadto pojawia się problem ekranów zgarniających, w których tylko części są aktualizowane w celu zaoszczędzenia przepustowości (patrzncurses). W mojej pracy korzystałem z ActiveState Expect i biblioteki telnet Pythona.

Pytanie

Które języki i biblioteki są w stanie zautomatyzować sesje telnet i mają następujące wymagania:

Odpowiedni dla dużych projektów (np. Tcl nie wydaje się skalować tak dobrze jak Python w moim doświadczeniu i wydaje się przestarzały)Cross Platform (np.Pexpect nie działa w systemie Windows iActivestate Expect zachowuje się inaczej w systemie Windows plus wymaga wyłączenia funkcji DEP na nowszych maszynachPotrafi przeglądać sesje zeskrobywania, które odświeżają fragmenty ekranu (podobnie do zachowania ncurses w programach wiersza poleceń)Wolny jak w piwie!

Preferowanym rozwiązaniem byłoby również:

Łatwo redystrybuowalne (np. Nie wymaga dużego środowiska wykonawczego do zainstalowania na komputerze).Działa również dla SSH, połączeń szeregowych i innych interfejsów wiersza poleceń.

questionAnswers(1)

yourAnswerToTheQuestion