Добрый день
Может кто встречался с проблемой из subj
Код для захода на сервер по telnet
Код:
#!/usr/local/bin/python
import sys, time, telnetlib
host = "127.0.0.1"
telnet_port = 23
user = "tmpuser"
password = "paaaaaas"
results = ""
tn = telnetlib.Telnet(host, telnet_port)
tn.set_debuglevel(1)
time.sleep(1)
print tn.read_until("User", 3)
time.sleep(1)
tn.write(user + "\r\n")
time.sleep(1)
print tn.read_until("Password", 3)
time.sleep(1)
tn.write(password + "\r\n")
time.sleep(1)
print tn.read_until("%", 2)
tn.write("ls\r\n")
print tn.read_until("%", 10)
Результат работы:
Код:
> ./telnet2.py
Telnet(127.0.0.1,23): recv '\xff\xfd%'
Telnet(127.0.0.1,23): IAC DO 37
Telnet(127.0.0.1,23): recv "\xff\xfb&\xff\xfd\x18\xff\xfd \xff\xfd#\xff\xfd'\xff\xfd$"
Telnet(127.0.0.1,23): IAC WILL 38
Telnet(127.0.0.1,23): IAC DO 24
Telnet(127.0.0.1,23): IAC DO 32
Telnet(127.0.0.1,23): IAC DO 35
Telnet(127.0.0.1,23): IAC DO 39
Telnet(127.0.0.1,23): IAC DO 36
Telnet(127.0.0.1,23): recv '\xff\xfb\x03\xff\xfd\x01\xff\xfd"\xff\xfd\x1f\xff\xfb\x05\xff\xfd!'
Telnet(127.0.0.1,23): IAC WILL 3
Telnet(127.0.0.1,23): IAC DO 1
Telnet(127.0.0.1,23): IAC DO 34
Telnet(127.0.0.1,23): IAC DO 31
Telnet(127.0.0.1,23): IAC WILL 5
Telnet(127.0.0.1,23): IAC DO 33
Telnet(127.0.0.1,23): recv '\xff\xfb\x03'
Telnet(127.0.0.1,23): IAC WILL 3
Telnet(127.0.0.1,23): recv '\xff\xfb\x01'
Telnet(127.0.0.1,23): IAC WILL 1
Telnet(127.0.0.1,23): recv '\r\x00\r\nFreeBSD/i386 (Uranium.ppppppppp.ru) (ttyp7)\r\x00\r\n\r\x00\r\n'
Telnet(127.0.0.1,23): recv 'login: '
FreeBSD/i386 (Uranium.ppppppppppp.ru) (ttyp7)
login:
Telnet(127.0.0.1,23): send 'tmpuser\r\n'
Telnet(127.0.0.1,23): recv 'tmpuser\r\nPassword:'
tmpuser
Password
Telnet(127.0.0.1,23): send 'paaaaaas\r\n'
Telnet(127.0.0.1,23): recv '\r\nLast login: Wed Jun 6 12:19:06 from localhost\r\n'
Telnet(127.0.0.1,23): recv 'Copyright (c) 1992-2007 The FreeBSD Project.\r\nCopy'
Telnet(127.0.0.1,23): recv 'right (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991'
Telnet(127.0.0.1,23): recv ', 1992, 1993, 1994\r\n\tThe Regents of the University'
Telnet(127.0.0.1,23): recv ' of California. All rights reserved.\r\n\r\nFreeBSD 6.'
Telnet(127.0.0.1,23): recv '2-RELEASE-p2 (kern_7) #3: Mon Mar 12 11:04:48 MSK '
Telnet(127.0.0.1,23): recv '2007\r\n\r\nsh (the default Bourne shell in FreeBSD) s'
Telnet(127.0.0.1,23): recv 'upports command-line editing. Just\r\n``set -o emac'
Telnet(127.0.0.1,23): recv "s'' or ``set -o vi'' to enable it.\r\n%"
:
Last login: Wed Jun 6 12:19:06 from localhost
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.2-RELEASE-p2 (kern_7) #3: Mon Mar 12 11:04:48 MSK 2007
sh (the default Bourne shell in FreeBSD) supports command-line editing. Just
``set -o emacs'' or ``set -o vi'' to enable it.
%
Telnet(127.0.0.1,23): send 'ls\r\n'
Telnet(127.0.0.1,23): recv 'ls\r\n'
Telnet(127.0.0.1,23): recv 'test.sh\t\ttest1.sh\ttest2.sh\ttest3.sh\ttest4.sh\r\n%'
ls
test.sh test1.sh test2.sh test3.sh test4.sh
%
>
Все работает.
Код для входа на свитч:
Код:
#!/usr/local/bin/python
import sys, time, telnetlib
host = "192.168.4.111"
telnet_port = 23
user = "tmpuser"
password = "paaaaaas"
tn = telnetlib.Telnet(host, telnet_port)
tn.set_debuglevel(1)
time.sleep(1)
print tn.read_until("username:", 3)
time.sleep(1)
tn.write(user + "\r\n")
time.sleep(1)
print tn.read_until("password:", 3)
time.sleep(1)
tn.write(password + "\r\n")
time.sleep(1)
print tn.read_until("DES-3526:4#", 2)
tn.write("show arpentry\r\n")
print tn.read_until("DES-3526:4#", 10)
tn.write("logout\r\n")
Результат работы:
Код:
> ./telnet2_sw.py
Telnet(192.168.4.111,23): recv '\xff\xfd\x03\xff\xfb\x03\xff\xfb\x01\x1b[0m\x1b[1;1H\x1b[2J\r\n\rusername:'
Telnet(192.168.4.111,23): IAC DO 3
Telnet(192.168.4.111,23): IAC WILL 3
Telnet(192.168.4.111,23): IAC WILL 1
username:
Telnet(192.168.4.111,23): send 'tmpuser\r\n'
Telnet(192.168.4.111,23): recv '\xff\xfe\x03\xff\xfc\x03\xff\xfc\x01tmpuser\r\n\rpassword:'
Telnet(192.168.4.111,23): IAC DONT 3
Telnet(192.168.4.111,23): IAC WONT 3
Telnet(192.168.4.111,23): IAC WONT 1
tmpuser
password:
Telnet(192.168.4.111,23): send 'paaaaaas\r\n'
Telnet(192.168.4.111,23): recv '**********\r\n\rFail!\r\n\rusername:'
**********
Fail!
username:
Telnet(192.168.4.111,23): send 'show arpentry\r\n'
Telnet(192.168.4.111,23): recv 's'
Telnet(192.168.4.111,23): recv 'how arpentry\r\n\rpassword:'
show arpentry
password:
Telnet(192.168.4.111,23): send 'logout\r\n'
>
Не верный пароль, он увеличился на 2 символа.Если заходим на свитч из камандной строки - все нормально:
Код:
%telnet 192.168.4.111
Trying 192.168.4.111...
Connected to 192.168.4.111.
Escape character is '^]'.
username:tmpuser
password:********
DES-3526:3#disable cli
Command: disable clipaging
Success.
DES-3526:4#show sw
Command: show switch
Device Type : DES-3526 Fast-Ethernet Switch
Combo Port Type : 1000Base-T + 1000Base-T
MAC Address : 00-11-95-FF-B7-08
IP Address : 192.168.4.111 (Manual)
VLAN Name : default
Subnet Mask : 255.255.255.224
Default Gateway : 192.168.4.97
Boot PROM Version : Build 3.00.005
Firmware Version : Build 4.01-B42
Hardware Version : 1A1
Device S/N :
Power Status : Main - Normal, Redundant - Not Present
System Name :
System Location :
System Contact : admin@pppppppp.ru
Spanning Tree : Disabled
GVRP : Disabled
IGMP Snooping : Enabled
TELNET : Enabled (TCP 23)
SSH : Disabled
WEB : Enabled (TCP 80)
RMON : Disabled
Asymmetric VLAN : Disabled
DES-3526:4#