2013-12-17 1 views
1

Я новичок в написании сценариев python, но я создал скрипт, который работает с другими устройствами в моей сети. Я пытаюсь изменить скрипт, который будет инструктировать удаленное устройство для резервного копирования его конфигурации на TFTP-сервер. Он отлично работает для моих коммутаторов 3Com, HP, но я просто добавил переключатель DLINK POE, который он умирает. Код выглядит следующим образом.Python Telnet Scripting

import getpass 
import sys 
import telnetlib 

HOST = "10.3.5.90" 
user = "admin" 
password = "Password" 

tn = telnetlib.Telnet(HOST) 

tn.read_until("DGS-12010-10P login: ") 
tn.write(user + "\r") 
tn.read_until("Password: ") 
tn.write(password + "\r") 
tn.read_until("DGS-1210-10P> ") 
tn.write("upload cfg_toTFTP tftp://10.5.5.2/DGS-1210-10P.bin" + "\r") 
tn.read_until("DGS-1210-10P> ") 
tn.write("logout" + "\r") 
tn.close() 

print "Backup Complete POE Switch" 

Я всегда получаю выходные данные, и это время. Я не могу понять, что я делаю неправильно, так как он работает с более чем 30 устройствами, без икоты

Traceback (most recent call last): 
File "/backup/scripts/05-POE-switch.py", line 13, in <module> 
tn.read_until("Password: ") 
File "/usr/lib/python2.7/telnetlib.py", line 319, in read_until 
return self.read_very_lazy() 
File "/usr/lib/python2.7/telnetlib.py", line 395, in read_very_lazy 
raise EOFError, 'telnet connection closed' 

Спасибо заранее для вас помощь.

+0

это работает если вы подключаетесь к устройству вручную? Излучает ли он «точные» ответы, которые вы ожидаете в сценарии? – Gerrat

+0

Если я подключу telnet к устройству вручную и введите команды, он будет работать и TFTP-файл на мой сервер. Ответы, когда я пытаюсь выполнить скрипт Python – user3112240

ответ

1

Попробуйте послать \r\n вместо \r в качестве терминатора конца строки. Я думаю, это твоя проблема.

В противном случае, использование Wireshark для мониторинга TCP связи между «ручной» телнетом сессией и устройством: вы увидите, что он посылает точно, и вы увидите, что вы должны послать ...

+0

Похоже, я вытаскиваю проводы. Изменение его на '' \ r \ n '' не сработало – user3112240

+0

Ок. Удачи ! – mguijarr

+0

Любые новости по этому поводу? Вы нашли решение своей проблемы? – mguijarr

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

  • Нет связанных вопросов^_^