Добрый день! Уже несколько часов ищу пример работы python с роутером через telnet. Вот, что я нашёл:
import getpass
import telnetlib
HOST = “localhost”
user = input(“Enter your remote account: ”)
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until(b“login: ”)
tn.write(user.encode('ascii') + b“\n”)
if password:
tn.read_until(b“Password: ”)
tn.write(password.encode('ascii') + b“\n”)
tn.write(b“ls\n”)
tn.write(b“exit\n”)
print(tn.read_all().decode('ascii'))
Использовав это я написал свой вариант:
[code python]
import nmap
from telnetlib import Telnet
ip = "192.168.1.1"
print('U READY?!?!? BEGIN!')
print('IPs: ', ip)
hosts = ['192.168.1.1']
for host in hosts:
print('host ',host)
tn = Telnet(host,23,15)
tn.set_debuglevel(1)
print("111")
tn.read_until(":", 20)
tn.write('vladF')
tn.read_until(":")
tn.write('*******')
if not tn.read_until('Access denied')=='':
print(host)
[/code]
Но при запуске этого чуда получается следующая ошибка:
C:\Users\vladF\Desktop\scanroutpy>m.py
U READY?!?!? BEGIN!
IPs: 192.168.1.1
host 192.168.1.1
Traceback (most recent call last):
File "C:\Users\vladF\Desktop\scanroutpy\m.py", line 18, in <module>
tn = Telnet("192.168.1.1",23,15)
File "C:\Users\vladF\AppData\Local\Programs\Python\Python35\lib\telnetlib.py", line 218, in __init__
self.open(host, port, timeout)
File "C:\Users\vladF\AppData\Local\Programs\Python\Python35\lib\telnetlib.py", line 234, in open
self.sock = socket.create_connection((host, port), timeout)
File "C:\Users\vladF\AppData\Local\Programs\Python\Python35\lib\socket.py", line 711, in create_connection
raise err
File "C:\Users\vladF\AppData\Local\Programs\Python\Python35\lib\socket.py", line 702, in create_connection
sock.connect(sa)
socket.timeout: timed out
Что не так-то? Вроде, сделал как в примере(К стати, примеров не так уж и много, почти все они под 2.x питон), но ничего не получается. Уже гуглил, но проблему так и не решил