#python #networking #telnet
#python #сеть #telnet
Вопрос:
У меня есть скрипт на Python, который сканирует IP-адреса и отправляет команды каждому, используя Telnet, но это не работает, я не знаю почему, я просто получаю Error occurred
# !/usr/bin/env python
import getpass
import sys
import telnetlib
def h4ck_th3_w0rld(HOST):
user = 'admin'
password = 'admin'
tn = None
try:
tn = telnetlib.Telnet(HOST, 23, 5)
tn.read_until("Username: ", 5)
tn.write(user "n")
if password:
tn.read_until("Password: ", 5)
tn.write(password "n")
tn.write("lsn")
tn.write("sendcmdn")
tn.write("exitn")
print(tn.read_all())
except Exception as e:
print 'Error occurred'
finally:
if tn:
tn.close()
for i in range(1, 256):
for j in range(0, 21):
ip_address = '192.168.%d.%d' % (j, i)
h4ck_th3_w0rld(ip_address)
Комментарии:
1. Если вы не перехватываете исключения (или неправильно печатаете полученное исключение), вы можете получить лучшее сообщение об ошибке, более точно сообщающее вам, что не так.
2. Если порт 23 не открыт для адреса, вы получите ошибку тайм-аута. Поскольку вы не печатаете исключение, вы видите только свое сообщение.
3. хорошо, итак, я погуглил его и поместил traceback.print_exc() вместо этого
Error occurred
и я получаю,error: [Errno 113] No route to host
иtimeout: timed out
чего мне не хватает здесь, ХОСТ?4. «Нет маршрута к хосту» означает, что вы пытаетесь подключиться к подсети за пределами вашей собственной, и что нет существующего маршрута от вашей подсети к этой подсети. «Время ожидания истекло» — типичная ошибка, когда никто не отвечает на ваш запрос на подключение (думайте об этом как о том, что никто не отвечает на ваш телефонный звонок).
5. @Someprogrammerdude можете ли вы помочь мне изменить цикл for со списком IP-адресов из текстового файла