Форум сайта python.su
Есть железка Dlink DES-3526 Build 5.01.B6. Хочу к ней подключиться таким методом:
def login(tn, user, password):
tn.read_until("username:")
tn.write(user + "\n")
print 'stage 1'
if password:
temp1 = tn.read_until("password:")
tn.write(password + "\n")
print 'stage 2'
output = tn.read_until("#")
print output
def login(tn, user, password):
tn.read_until("username:")
tn.write(user + "\n")
print 'stage 1'
if password:
temp1 = tn.read_until("password:")
tn.write(password + "\n")
print 'stage 2'
output = tn.read_until("**********") #Внимание!!! как я уже говорил пароль 8ми символьный а не 10ти!!!
print output
output = tn.read_until("********")
Отредактировано (Июнь 10, 2010 21:38:17)
Офлайн
а тылнета нету?
Офлайн
apt-get_me_a_beerУ меня подобная проблема была с DSL-2600. Долго ломал голову, думал что ж не так, потом внезапно (!) вот так заработало:
…. дальше подвисает так как не заходит и ждет чегото пока по таймауту не отваливается
dlink = telnetlib.Telnet(HOST)
dlink.read_until('Login:')
dlink.write(LOGIN + '\n')
dlink.read_until('Password:')
dlink.write(PASSWORD + '\n')
dlink.write('\n')
Отредактировано (Июнь 10, 2010 23:54:57)
Офлайн
Работал я с этой железкой, код здесь не покажу, его многовато для форума(там простенький DSL для описания работы с железками), а сценарий входа выглядит так:
1. Ждем строки “username:” c таймаутом 5 сек
2. Пишем “%s\r” % логин
3. Ждем строки “password:” c таймаутом 5 сек
4. Пишем “%s\r” % пароль и ждем 0,5 сек
Все зашли, можем команду отдавать.
Отредактировано (Июнь 11, 2010 05:43:52)
Офлайн
VaderПробовал, не помоглоapt-get_me_a_beerУ меня подобная проблема была с DSL-2600. Долго ломал голову, думал что ж не так, потом внезапно (!) вот так заработало:
…. дальше подвисает так как не заходит и ждет чегото пока по таймауту не отваливаетсяЗачем ему еще один \n после ввода пароля я так и не понял, но без него не хочет логиниться ни в какую…dlink = telnetlib.Telnet(HOST)
dlink.read_until('Login:')
dlink.write(LOGIN + '\n')
dlink.read_until('Password:')
dlink.write(PASSWORD + '\n')
dlink.write('\n')
Попробуйте, возможно поможет.
Офлайн
PooHИ это не помогло!!!
Работал я с этой железкой, код здесь не покажу, его многовато для форума(там простенький DSL для описания работы с железками), а сценарий входа выглядит так:
1. Ждем строки “username:” c таймаутом 5 сек
2. Пишем “%s\r” % логин
3. Ждем строки “password:” c таймаутом 5 сек
4. Пишем “%s\r” % пароль и ждем 0,5 сек
Все зашли, можем команду отдавать.
Отредактировано (Июнь 11, 2010 08:12:29)
Офлайн
Вот так попробуйте:
dlink = telnetlib.Telnet(HOST)
dlink.read_until('login:', 5)
dlink.write("%s\r" % LOGIN)
dlink.read_until('password:', 5)
dlink.write("%s\r" % PASSWORD)
time.sleep(0.5)
Офлайн
PooH
Вот так попробуйте:Сейчас нет железки под рукой, проверить, но помнится login и password с маленькой буквы и, обращаю внимание, не \n а \r
dlink = telnetlib.Telnet(HOST)
dlink.read_until('login:', 5)
dlink.write("%s\r" % LOGIN)
dlink.read_until('password:', 5)
dlink.write("%s\r" % PASSWORD)
time.sleep(0.5)
import time
# Controller action
# tn Telnet obj
from telnetlib import Telnet
def login(tn, user, pass1):
dlink = Telnet('10.254.10.3')
dlink.read_until('username:', 5)
dlink.write("%s\r" % 'admin')
dlink.read_until('password:', 5)
dlink.write("%s\r" % 'xxxxx')
time.sleep(0.5)
Офлайн
Странно у нас это работало, может прошивка другая. А можете руками на железку зайти и лог сюда выложить?
Офлайн
PooH
Странно у нас это работало, может прошивка другая. А можете руками на железку зайти и лог сюда выложить?
473 2010/06/11 10:18:47 Successful login through Telnet (Username: admin, IP
: 10.254.13.113, MAC: 00-50-FC-EE-73-6C)
7472 2010/06/11 10:18:41 Login failed through Telnet (Username: admin, IP: 10
.254.13.113, MAC: 00-50-FC-EE-73-6C)
7471 2010/06/11 10:18:39 Login failed through Telnet (Username: admin, IP: 10
.254.13.113, MAC: 00-50-FC-EE-73-6C)
7470 2010/06/11 10:18:38 Login failed through Telnet (Username: admin, IP: 10
.254.13.113, MAC: 00-50-FC-EE-73-6C)
7469 2010/06/11 10:18:35 Logout through Telnet (Username: admin, IP: 10.254.1
3.113, MAC: 00-50-FC-EE-73-6C)
7468 2010/06/11 10:18:22 Successful login through Telnet (Username: admin, IP
: 10.254.13.113, MAC: 00-50-FC-EE-73-6C)
7467 2010/06/11 10:18:14 Login failed through Telnet (Username: admin, IP: 10
.254.13.113, MAC: 00-50-FC-EE-73-6C)
7466 2010/06/11 10:17:44 Login failed through Telnet (Username: admin, IP: 10
.254.13.113, MAC: 00-50-FC-EE-73-6C)
7465 2010/06/11 10:08:40 Logout through Telnet (Username: admin, IP: 10.254.1
3.113, MAC: 00-50-FC-EE-73-6C)
7464 2010/06/11 10:08:08 Successful login through Telnet (Username: admin, IP
: 10.254.13.113, MAC: 00-50-FC-EE-73-6C)
Офлайн