Member 14651994 Ответов: 1

Вызов списка IP-адресов из файла


У меня есть скрипт, который выполняет поиск в интернете и вызывает файл с диапазоном IP таким образом

# Import modules
from .inspection import Request, InspectPaths, InspectContent, PortIsOpen, GetTitle
from ipaddress import ip_address
from threading import Thread

    # Return IPs in IPv4 range, inclusive.
    def IPsRange(start='', end=''):
        if not start and not end:
            return []
        if not end and start.__contains__("-"):
            start, end = start.split("-")
        end = end.replace("\n","")
        start = int(ip_address(start).packed.hex(), 16)
        end = int(ip_address(end).packed.hex(), 16)
        return [ip_address(ip).exploded for ip in range(start, end)]
    
    # Scan IP address range
    def ScanRange(ranges):
        threads = []                        
        # *-- Scan IP range --*             
        for address in IPsRange(ranges):    
            t = Thread(                     
                target=__СheckAddrThreaded, 
                args=(address,)             
            )                              
            threads.append(t)               
            t.start()                       
        for thread in threads:              
            thread.join()


Я пытался вместо диапазона IP-адресов использовать список IP-адресов, однако я понятия не имею, с чего начать, и хотел бы запросить некоторые сведения о том, как это сделать.

Спасибо всем

Что я уже пробовал:

Я ищу некоторые рекомендации о том, что можно сделать, потому что я не знаю, какие подходы можно использовать

1 Ответов

Рейтинг:
1

Sandeep Mewara

Как насчет того, чтобы начать снизу:

import ipaddress
def process(iptext):
    try:
        # do your thing here
        # example
        print(ipaddress.ip_interface(iptext).network)
        return
    except Exception:
        print("INVALID")
        return 

with open('ipaddresses.txt', 'r') as f:
    for line in f:
        line = "".join(line.split())
        process(line)

Ваш ipaddresses.txt было бы IPs как:
192.168.100.12/24
192.168.101.32/24

Выглядит неплохо ссылка связанная с IP: Работа с IP - адресами в Python- библиотека ipaddress - часть 1 |[^]


Member 14651994

Спасибо за ваш ответ. Не могли бы вы просто сказать мне, что такое "#делай свое дело здесь #пример"?

Sandeep Mewara

Что бы вы ни собирались делать с этим IP-адресом.