Кросс-платформенное решение для автоматизации работы с ncurses-тип сеансах telnet
Фон
Часть моей работы в области сетей и телекоммуникаций включает автоматизацию сеансов telnet, когда устаревшее оборудование не предлагает простых решений в других интерфейсах. Многие старые части оборудования могут быть доступны только через порты корабля (последовательные порты RS-232), SNMP или telnet. Иногда telnet является единственным способом доступа к определенной информации, однако telnet спроектирован как человеческий интерфейс и поэтому требует очистки экрана. Кроме того, существует также проблема соскоба экраны, где обновляются только части для экономии полосы пропускания (см. ncurses ). В своей работе я использовал ActiveState Expect и библиотеку Python telnet.Вопрос
Какие языки и библиотеки способны автоматизировать сеансы telnet и имеют следующие требования:
- подходит для крупных проектов (например, Tcl не кажется, что масштабируется так же хорошо, как Python по моему опыту и кажется устаревшим)
- кросс-платформенный (например, pexpect делает не работает на Windows и Activestate Ожидать ведет себя по-разному на Windows plus требует DEP на более новой версии машины, которые должны быть выключены)
- возможность экранировать сеансы очистки, которые перекрашивают части экрана (аналогично поведению ncurses в программах командной строки)
- бесплатно, как в пиве!
Предпочтительным решением было бы также следующее:
- легко перераспределяемый (например, не делает требуется, чтобы на компьютере была установлена огромная среда выполнения. машина.)
- также работает для SSH, последовательных соединений и других интерфейсов командной строки.