Мой скрипт на Python, который сканирует IP-адреса и отправляет команды каждому, используя Telnet, не работает, я продолжаю получать «Произошла ошибка»

#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-адресов из текстового файла