Solução de plataforma cruzada para automatizar sessões de telnet do tipo ncurses

fundo

Parte do meu trabalho em rede e telecomunicações envolve a automação de sessões de telnet quando o hardware legado não oferece soluções fáceis em outras interfaces. Muitos equipamentos antigos só podem ser acessados ​​por meio de portas craft (portas seriais RS-232), SNMP ou telnet. Às vezes, o telnet é a única maneira de acessar informações específicas, no entanto, o telnet é projetado como uma interface humana e, portanto, requer a captura de tela. Além disso, há também a questão das telas de raspagem, nas quais apenas as partes são atualizadas para economizar largura de bandancurses). Em meu trabalho, usei o ActiveState Expect e a biblioteca de telnet Python.

Questão

Quais idiomas e bibliotecas são capazes de automatizar as sessões de telnet e possuem os seguintes requisitos:

Adequado para grandes projetos (por exemplo, o Tcl não parece dimensionar tão bem quanto o Python na minha experiência e parece desatualizado)Plataforma Cruzada (por ex.Pexpect não funciona no Windows eActivestate Expect se comporta de maneira diferente no Windows além disso, exige que a DEP em máquinas mais novas seja desativada)Capaz de rastrear sessões de raspar que repintam partes da tela (semelhante ao comportamento de ncurses em programas de linha de comando)Livre como na cerveja!

Uma solução preferível também incluiria o seguinte:

Facilmente redistribuível (por exemplo, não requer algum tempo de execução enorme para ser instalado em uma máquina).Também funciona para SSH, conexões seriais e outras interfaces de linha de comando.

questionAnswers(1)

yourAnswerToTheQuestion