Подниму старинную тему, может кому поможет:
UserName:
Telnet(10.10.10.90,23): send '\xfe'
Telnet(10.10.10.90,23): send 'FakeUser\n'
Telnet(10.10.10.90,23): recv '\xff\xfe\x03'
Telnet(10.10.10.90,23): IAC DONT 3
Telnet(10.10.10.90,23): recv '\xff\xfc\x03'
Telnet(10.10.10.90,23): IAC WONT 3
Telnet(10.10.10.90,23): recv '\xff\xfc\x01FakeUser\n\rPassWord:'
Telnet(10.10.10.90,23): IAC WONT 1
FakeUser
PassWord:
Telnet(10.10.10.90,23): send 'parol\n'
parol
Telnet(10.10.10.90,23): recv '*'
Telnet(10.10.10.90,23): recv '****\n\r\n\rDES-3200-26:5#'
*******
tn = telnetlib.Telnet(HOST)
tn.set_debuglevel(19)
print tn.read_until('me:')
tn.write("\xfe")
tn.write("FakeUser\n")
print tn.read_until('d:')
tn.write("parol\n")
print tn.read_until('#')
Как видите я шлю \xfe (подходит кстати почти любой код, \x01 и прочие) в сторону свитча до логина, это какое-то универсальное спасение, что-ли. Если не слать этой белиберды свитч по непонятной причине считает пароль длиннее чем он есть и естественно не принимает , причем судя по дебагу и даже tcpdumpу - send ('parol\n') верный.
Такой фигни с каталистами, хп и просто цискороутерами не видел, а вот длинк на те пожалуйста.