2013-06-30 6 views
1

Этот проект для моделирования интерфейса коммутатора Cisco. Я в основном хочу создать интерфейс командной строки, к которому я могу подключиться.Создание оболочки CLI, доступной через telnet с использованием Python

Если кто-то знаком с коммутатором Cisco, это в первую очередь, как они контролируются. Я хочу генерировать имитируемые выходы команд на этих коммутаторах. Я попытался использовать скрученную фреймворк и параметр cmd для python.

Но мне просто нужно что-то простое, в основном модуль, который будет telnet для cli, а затем я могу использовать команды, как я вижу, в разных модулях, а затем отображать команды.

Я был бы признателен, если бы кто-то показать мне правильный способ сделать это, или даже то, что я мог бы использовать (опция телнета не является обязательной.)

ответ

0

This кажется билет. простой, но работоспособный. Его библиотека сервера telnet написана на Python. Его легко расширяемый; как так:

if __name__ == '__main__': 
    "Testing - Accept a single connection" 
    class TNS(SocketServer.TCPServer): 
     allow_reuse_address = True 

    class TNH(TelnetHandler): 
     def cmdECHO(self, params): 
      """ [<arg> ...] 
      Echo parameters 
      Echo command line parameters back to user, one per line. 
      """ 
      self.writeline("Parameters:") 
      for item in params: 
       self.writeline("\t%s" % item) 
     def cmdTIME(self, params): 
      """ 
      Print Time 
      Added by dilbert 
      """ 
      self.writeline(time.ctime()) 

    logging.getLogger('').setLevel(logging.DEBUG) 

    tns = TNS(("0.0.0.0", 8023), TNH) 
    tns.serve_forever() 
+0

Это не работает directly..I получить следующее сообщение об ошибке Файл "C: \ python27 \ Lib \ \ __ проклятия init__.py", строка 15, в от _curses импорта * ImportError: Нет модуля с именем _curses ' Существуют ли какие-либо другие зависимости? – Strommer

+0

Правда, модуль зависит от проклятий. Если вы используете это в * nix, тогда проклятия должны быть тривиальными для установки. Если вы используете это в Windows; эти пакеты должны работать: http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses – dilbert

+0

Новая ошибка: «невозможно найти SocketServer». Когда я делаю из telnetsrvlib import *, я получаю эту ошибку: объект «module» не имеет атрибута «TelnetCLIHandler». – Strommer

Смежные вопросы