Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2014 19:28:08

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

Приветствую всех!
Во время обучения написал данный код. он почти бессмысленен. Меняю дату и время. дату автоматически, а время корректирую вручную. А вопросы такие у меня:
1) tn.read_until(b“Copyright © 1994 - 2006 ZyXEL Communications Corp.”): зачем тут b перед кавычками ?
2) tn.write(data.encode('utf-8') +b“\n”) зачем тут utf-8?
3) если допустим я задаю команду help, она выдает список команд и

-- more --, next page: Space, continue: c, quit: ESC
типа нажмите next page: Space, что бы перейти на следующую страницу. как это сделать ввести Space и вывести ответ на запрос, на экран от начальной выбранной мной команды, до конечной выбранной мной команды?
4) почему в ответе на команду print(tn.read_all().decode('utf-8')) получаются какие - то символы семерки итд итп?
ÂÂÅÄÈÒÅ ÄÀÒÓ Â ÔÎÐÌÀÒÅ ìåñÿö/÷èñëî/ãîä: 03/03/03
ÂÛ Â ÊÎÍÔÈÃÅ
ÂÛ ÈÇÌÅÍÈËÈ ÂÐÅÌß
7show time
exit
777777777Current Time 04:14:01
Current Date 2014-03-03
ES-2108# 77777

Сама программа
import telnetlib
import datetime
t = input("ВВЕДИТЕ ВРЕМЯ В ФОРМАТЕ часы:минуты:секунды: ")#тут корректируется время вручную
#d = input("ВВЕДИТЕ ДАТУ В ФОРМАТЕ месяц/число/год: ")
d1 = datetime.date.today()#тут сегодняшняя дата автоматически
d = d1.strftime("%m/%d/%Y")
print(d)
data = 'time date %s' % d #тут команда на управляемом свиче для смены даты
time = 'time %s' % t
HOST = "172.22.203.1"
#user = input("Введите ваш логин: ")
#password = input("Введите ваш пароль: ")
user = 'admin'
password = '1234'
tn = telnetlib.Telnet(HOST)
tn.read_until(b"User name: ")
tn.write(user.encode('utf-8') + b"\n")
if tn.read_until(b"Password:"):
    tn.write(password.encode('utf-8') + b"\n")
if tn.read_until(b"Copyright (c) 1994 - 2006 ZyXEL Communications Corp."):
    tn.read_until(b"ES-2108#")
    tn.write(b"configure\n")
if tn.read_until(b"ES-2108(config)#"):
    print('ВЫ В КОНФИГЕ СВИЧА')
    tn.write(data.encode('utf-8') +b"\n")# изменяем дату
    tn.write(time.encode('utf-8') +b"\n")#изменяем время
    print('ВЫ ИЗМЕНИЛИ ДАТУ И ВРЕМЯ')
    tn.write(b"exit\n")
    tn.read_until(b"ES-2108#")
    tn.write(b"show time\n")
    #tn.write(b"help\n")
    tn.write(b"exit\n")
    print(tn.read_all().decode('utf-8'))
input()

Офлайн

#2 Март 4, 2014 16:06:08

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

уважаемое сообщество дайте и примеров мне по телнетлибу

Офлайн

#3 Март 4, 2014 16:29:43

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Вопросы о telnetlib

Вот тут есть и примеры и описания.

Офлайн

#4 Март 4, 2014 16:34:04

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

там один пример, я с него и сотворил программку. А вот остальное не понятно. Есть еще примеры?

Офлайн

#5 Март 5, 2014 21:11:10

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

А как имитировать нажатие Enter?

Офлайн

#6 Март 6, 2014 10:33:02

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Вопросы о telnetlib

ingfa_1981
А как имитировать нажатие Enter?
tn.write("\n")
ingfa_1981
уважаемое сообщество дайте и примеров мне по телнетлибу
Линк

Отредактировано noob_saibot (Март 6, 2014 10:35:36)

Офлайн

#7 Март 9, 2014 20:34:22

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

Значит я делал все правильно. А как тогда правильно прочитать данные, а скорее узнать в какой кодировке приходит ответ от оборудования? Просто я вижу квадратик после ввода пароля и tn.write(“\n”).

Офлайн

#8 Март 9, 2014 20:49:46

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

Вот допустим пример работы с оборудованием.
Реально ли как то автоматизировать ввод команд? А их там из нужных несколько.
Например:
1. DEF SYS это какие платы установлены в слоты. Выводится построчно каждый раз необходимо жать ENTER.
, а что бы изменить что то, необходимо пробелом переходить по строке дойти до нужного слота и там кнопками B(вверх) и F(вниз) произвести изменения.
2. DEF TS 1(это слот) 1(это порт E1) - всего порта E1 на плате 2, также дотыкать ENTERом до нужной строки, если ты ее
прошляпил прийдется вводить заново команду DEF TS 1 1, так же пробелом добраться до нужного TS и изменить его кнопками B(вверх) и F(вниз).
3. DEF CH 3(слот) 1(канал, всего их до 16 ти может быть), подойти к CONNECT и изменить его на YES c NO кнопками B(вверх) и F(вниз)
Вот код

>PASSWORD***
>
>DEF SYS
SLOT: PS-A           CL-A
TYPE: PS+FAN         MCL-2ETH
SLOT: IO-01          IO-02          IO-03          IO-04          IO-05
TYPE: MTML-2/E1      VC-16/E&M      VC-16/FXS      -------------  -------------
V5.2 APP        Interface ID       Startup Mode  Reprovision Skip UBR Restart
----------------  ---------------- ------------- ----------- ---------------
NONE              N/A               N/A          N/A         N/A
      Master          Fallback
Mode: RX CLOCK        RX CLOCK
Slot: IO-1            IO-1
Ch  : EX2             EX1
>DEF TS 1 1
Module : MTML-2/E1
 Required Time Slots For IO-01 :
CH-01 :
          IO - 01  02  03  04  05
Channel 01     --  01  01  --  --
Channel 02     BP  01  01  --  --
Channel 03     --  01  01  --  --
Channel 04     --  01  01  --  --
Channel 05     --  01  01  --  --
Channel 06     --  01  01  --  --
Channel 07     --  01  01  --  --
Channel 08     --  01  01  --  --
Channel 09     --  --  --  --  --
Channel 10     --  --  --  --  --
Channel 11     --  --  --  --  --
Channel 12     --  --  --  --  --
Channel 13     --  --  --  --  --
Channel 14     --  --  --  --  --
Channel 15     --  --  --  --  --
Channel 16     --  --  --  --  --
Channel 17     --  --  --  --  --
   TS 01      TS 02      TS 03      TS 04      TS 05      TS 06
   02:01      02:02      02:03      02:04      02:05      02:06
   VOICE      VOICE      VOICE      VOICE      VOICE      VOICE
   TS 07      TS 08      TS 09      TS 10      TS 11      TS 12
   02:07      02:08      03:01      03:02      03:03      03:04
   VOICE      VOICE      VOICE      VOICE      VOICE      VOICE
   TS 13      TS 14      TS 15      TS 16      TS 17      TS 18
   03:05      03:06      03:07      -------    03:08      -------
   VOICE      VOICE      VOICE      DATA       VOICE      DATA
   TS 19      TS 20      TS 21      TS 22      TS 23      TS 24
   -------    -------    -------    -------    -------    -------
   DATA       DATA       DATA       DATA       DATA       DATA
   TS 25      TS 26      TS 27      TS 28      TS 29      TS 30
   -------    -------    -------    -------    -------    -------
   DATA       DATA       DATA       DATA       DATA       DATA
   TS 31
   -------
   DATA
>
>DEF TS 1 2
Module : MTML-2/E1
 Required Time Slots For IO-01 :
CH-02 :
          IO - 01  02  03  04  05
Channel 01     BP  --  --  --  --
Channel 02     --  --  --  --  --
Channel 03     --  --  --  --  --
Channel 04     --  --  --  --  --
Channel 05     --  --  --  --  --
Channel 06     --  --  --  --  --
Channel 07     --  --  --  --  --
Channel 08     --  --  --  --  --
Channel 09     --  01  01  --  --
Channel 10     --  01  01  --  --
Channel 11     --  01  01  --  --
Channel 12     --  01  01  --  --
Channel 13     --  01  01  --  --
Channel 14     --  01  01  --  --
Channel 15     --  01  01  --  --
Channel 16     --  01  01  --  --
Channel 17     --  --  --  --  --
 + Additional timeslot is required for management.
   TS 01      TS 02      TS 03      TS 04      TS 05      TS 06
   02:09      02:10      02:11      02:12      02:13      02:14
   VOICE      VOICE      VOICE      VOICE      VOICE      VOICE
   TS 07      TS 08      TS 09      TS 10      TS 11      TS 12
   02:15      02:16      03:09      03:10      03:11      03:12
   VOICE      VOICE      VOICE      VOICE      VOICE      VOICE
   TS 13      TS 14      TS 15      TS 16      TS 17      TS 18
   03:13      03:14      03:15      -------    03:16      -------
   VOICE      VOICE      VOICE      DATA       VOICE      DATA
   TS 19      TS 20      TS 21      TS 22      TS 23      TS 24
   -------    -------    -------    -------    -------    -------
   DATA       DATA       DATA       DATA       DATA       DATA
   TS 25      TS 26      TS 27      TS 28      TS 29      TS 30
   -------    -------    -------    -------    -------    -------
   DATA       DATA       DATA       DATA       DATA       DATA
   TS 31
   -------
   MNG
>DEF CH 3
Module : VC-16/FXS
Coding   Signaling      Encoding   Metering   Signaling Services
------   -------------- --------   --------   ------------------
a LAW    NO SIGNALING   PCM        16K        NORMAL
>
>DEF CH 3 1
Module : VC-16/FXS
            Connect  Transmit Level Receive Level
            -------  -------------- -------------
Port EX01 :  YES        0.0            0.0
             Wires Num  Interface      Sig.Feed    Type
             ---------  ------------   --------    ---------
             2 WIRES    LOOP START     N/A         N/A
             Oper Mode    ML Slot   ML Channel  Map Type   Start Ts
             ----------   -------   ----------  --------   --------
             BI-DIR       IO-1      EX1         N/A        N/A
>

Офлайн

#9 Март 10, 2014 08:54:36

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Вопросы о telnetlib

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

Я так понял это оборудование БС (вот только кто вендор не пойму). У каждого вендора есть свое ПО для написания скриптов. Для Эриксона могу поспрашивать, на другом у меня знакомых нет))

Офлайн

#10 Март 10, 2014 14:54:56

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Вопросы о telnetlib

это оборудование фирмы Ротек, мультиплексор T130-4E1

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version