Загрузка...

Script
Subnet Scanner

Thread in Python created by Gleb4ik123 Feb 23, 2026. 86 views

  1. Gleb4ik123
    Недавно написал небольшой скрипт для скана подсетей с многопотоком. В файл input.txt записываются маски, в файл output.txt выводятся рабочие подсети. Использовал когда парсил рабочие подсети во время белых списков, может кому-то пригодиться я хз


    Python

    import ipaddress
    import threading
    from main import output_file
    from tcppinglib import tcpping


    ping_port = 443 # порт для пинга
    input_file = "input.txt" # файл с масками
    output_file = "output.txt" # файл для вывода результата
    num_of_working_ip = 10 # количество рабочих айпи в подсети

    queue = {}
    write_claster = []
    running = True
    masks = {}



    def test_mask(mask):
    count = 0
    for ip in ipaddress.ip_network(mask):
    response = tcpping(str(ip), timeout=1, count=1, port=ping_port).is_alive
    if response:
    count += 1
    if count >= num_of_working_ip:
    with open(output_file, "a") as f2:
    txt2write = mask + " up"
    f2.write(txt2write + "\n")
    masks[mask] = count
    print(mask, "up")
    exit()
    if count < num_of_working_ip:
    with open(output_file, "a") as f2:
    txt2write = mask + " down"
    f2.write(txt2write + "\n")
    print(mask, "down")

    with open(input_file, "r") as f:
    ip_adresses = f.read().split("\n")
    for i in ip_adresses:
    masks.update({i: 0})
    threading.Thread(target=test_mask, args=(i,)).start()

     
Loading...