faq обучение настройка
Текущее время: Пт июл 18, 2025 13:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: DES3028 python-скрипты проблема
СообщениеДобавлено: Ср авг 17, 2011 10:49 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
Добрый день.

При запуске python-скриптов, которые телнетятся на коммутатор и выполняют определенные команды, очень часто возникает непонятный глюк, перед скриптовой командой подставляются сами символы 'а' или 'аа' или 'ааа', откуда они берутся ума не приложу.
В чем может быть причина этого глюка и как с ним бороться?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Чт авг 18, 2011 04:26 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
Я написал небольшой скрипт на питоне, чтобы продемонстрировать глюк.
Скрипт телнетится на комут и закидывает порт по очереди то в один то в другой вланы.
И то, что происходит во время выполнения скрипта, выводится в консоль.
___________________скрипт____________
#!/usr/bin/python
# -*- coding: utf-8 -*-

import getpass
import sys
import telnetlib
import time

def test_13():
HOST = "192.168.254.253"
PORT = 10
user = 'albiruni'
password = 'xxx'
tn = telnetlib.Telnet(HOST,23,5)
tn.read_until(':')
tn.write(user + "\n")
tn.write(password + "\n")
tn.write("config vlan 300 delete %s\n" % str(PORT))
print tn.read_until('#')
tn.write("config vlan 13 add untagged %s\n" % str(PORT))
print tn.read_until('#')
print tn.read_until('#')
tn.write("logout\n")

def test_300():
HOST = "192.168.254.253"
PORT = 10
user = 'albiruni'
password = 'xxx'
tn = telnetlib.Telnet(HOST,23,5)
tn.read_until(':')
tn.write(user + "\n")
tn.write(password + "\n")
tn.write("config vlan 13 delete %s\n" % str(PORT))
print tn.read_until('#')
tn.write("config vlan 300 add untagged %s\n" % str(PORT))
print tn.read_until('#')
print tn.read_until('#')
tn.write("logout\n")

while True:
test_13()
time.sleep(3)
test_300()
__________________________________________________________________________________________

_______________________фрагмент результатов выполнения скрипта_______________
Game:4#
config vlan 300 delete 10
Command: config vlan 300 delete 10

Success.

Game:4#
aconfig vlan 13 add untagged 10

Available commands:
.. ? cable_diag clear
config create debug delete
dir disable download enable
login logout ping reboot
reconfig reset save show
smtp telnet traceroute upload

Game:4#
Build 2.50.B08
Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:albiruni
PassWord:*******

Game:4#
config vlan 13 delete 10
Command: config vlan 13 delete 10

Ports is not belong vlan.

Fail!

Game:4#
Build 2.50.B08
Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:albiruni
PassWord:*******

Game:4#
config vlan 300 delete 10
Command: config vlan 300 delete 10

Success.

Game:4#
config vlan 13 add untagged 10
Command: config vlan 13 add untagged 10

Success.

Game:4#
Build 2.50.B08
Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:albiruni
PassWord:*******

Game:4#
config vlan 13 delete 10
Command: config vlan 13 delete 10

Success.

Game:4#
Build 2.50.B08
Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:albiruni
PassWord:*******

Game:4#
config vlan 300 delete 10
Command: config vlan 300 delete 10

Success.

Game:4#
config vlan 13 add untagged 10
Command: config vlan 13 add untagged 10

Success.

Game:4#
Build 2.50.B08
Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:albiruni
PassWord:*******

Game:4#
config vlan 13 delete 10
Command: config vlan 13 delete 10

Success.

Game:4#
Build 2.50.B08
Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:albiruni
PassWord:*******

Game:4#
config vlan 300 delete 10
Command: config vlan 300 delete 10

Success.

Game:4#
aconfig vlan 13 add untagged 10

Available commands:
.. ? cable_diag clear
config create debug delete
dir disable download enable
login logout ping reboot
reconfig reset save show
smtp telnet traceroute upload


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Чт авг 18, 2011 10:54 
Не в сети

Зарегистрирован: Пт май 05, 2006 16:52
Сообщений: 4181
Откуда: default
а на шелле почему не напишите?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Чт авг 18, 2011 13:50 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Ср май 10, 2006 16:40
Сообщений: 12251
Откуда: D-Link, Moscow
Да, подтверждаю, у меня с питоном тоже такая ошибка вылетает.
используйте перл, с ним проблем нет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Чт авг 18, 2011 14:26 
Не в сети

Зарегистрирован: Ср май 23, 2007 11:27
Сообщений: 38
Откуда: Красноярск
А это у вас первая буква логина вылетает, питон здесь кстати чистой воды невиновный.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Пт авг 19, 2011 02:37 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
Ситуация следующая.
Надо сделать закрытие шлюзов в бгбиллинге. А в бгбилинге скрипты явовские. А явовские скрипты на дес3028 выхватывают такой же глюк как на питоне.
Что делать?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Пт авг 19, 2011 05:14 
Не в сети

Зарегистрирован: Ср май 23, 2007 11:27
Сообщений: 38
Откуда: Красноярск
S-10 писал(а):
Ситуация следующая.
Надо сделать закрытие шлюзов в бгбиллинге. А в бгбилинге скрипты явовские. А явовские скрипты на дес3028 выхватывают такой же глюк как на питоне.
Что делать?


Скрипты самописные или коробочные?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Пт авг 19, 2011 06:24 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
Есть самописные, есть коробочные. И те и те выхватывают глюк.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Вт авг 23, 2011 02:44 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
кроме использования перла, больше нет вариантов?
а то бгбиллинг с перлом как то не очень дружит.
конечно идеальным будет вариант заменить длинки на другие коммутаторы, но пока нет такой возможности.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Вт авг 23, 2011 05:29 
Не в сети

Зарегистрирован: Ср май 23, 2007 11:27
Сообщений: 38
Откуда: Красноярск
S-10 писал(а):
кроме использования перла, больше нет вариантов?
а то бгбиллинг с перлом как то не очень дружит.
конечно идеальным будет вариант заменить длинки на другие коммутаторы, но пока нет такой возможности.


Не используйте telnetlib. Делайте просто на сокетах.

Вообще у длинков странная реализация telnet, с прочим оборудованием пока не встречал такого. Ежели очень хотите пользоваться именно telnetlib, создайте функцию типа такой (просто заглушка которая ничего не делает):
Код:
def bulk(self, cmd, opt):
   pass   

А при создании сессии телнета уже:
Код:
tn.set_option_negotiation_callback(bulk)


Тогда telnetlib не будет отвечать на всякие DO SGA, WILL SGA... И свитч станет адекватней :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Вт авг 23, 2011 08:55 
Не в сети

Зарегистрирован: Чт июн 04, 2009 07:38
Сообщений: 201
dvm-avgoor писал(а):
Вообще у длинков странная реализация telnet, с прочим оборудованием пока не встречал такого. Ежели очень хотите пользоваться именно telnetlib, создайте функцию типа такой (просто заглушка которая ничего не делает):
Код:
def bulk(self, cmd, opt):
   pass   

А при создании сессии телнета уже:
Код:
tn.set_option_negotiation_callback(bulk)


Тогда telnetlib не будет отвечать на всякие DO SGA, WILL SGA... И свитч станет адекватней :)

отличный костыль! мои скрипты заработали с полпинка.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Вт авг 23, 2011 10:34 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
dvm-avgoor, большая вам благодарность! Скрипты на питоне стали чётко отрабатывать.
Ещё бы для явы подобный вариант.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Ср авг 24, 2011 06:45 
Не в сети

Зарегистрирован: Пт дек 25, 2009 10:53
Сообщений: 26
что, по яве нет спецов?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES3028 python-скрипты проблема
СообщениеДобавлено: Ср авг 24, 2011 07:03 
Не в сети

Зарегистрирован: Ср май 23, 2007 11:27
Сообщений: 38
Откуда: Красноярск
S-10 писал(а):
что, по яве нет спецов?


Я не думаю что в яве есть как в питоне стандартная либа для работы с телнет, а в таком случае сложно ответить что и как править.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: baymerx, Google [Bot] и гости: 185


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB