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