Загрузка данных


from scapy.all import Dot11, Dot11Beacon, Dot11Elt, RadioTap, sendp, get_if_list
from scapy.volatile import RandMAC
import time

# --- ШАГ 1: УЗНАЕМ ИМЯ ИНТЕРФЕЙСА ---
# В Windows имена выглядят странно, типа "Wi-Fi" или "{...GUID...}"
print("Список доступных интерфейсов:")
interfaces = get_if_list()
for i, name in enumerate(interfaces):
    print(f"[{i}] {name}")

# ВНИМАНИЕ: Измени индекс ниже на тот, под которым идет твой Wi-Fi
# Или просто впиши название текстом, например: interface = "Wi-Fi"
choice = int(input("\nВведите номер Wi-Fi адаптера из списка выше: "))
interface = interfaces[choice]

# --- ШАГ 2: НАСТРОЙКА СПАМА ---
# Список названий сетей, которые будут видны в эфире
ssids = ["HACKED_BY_PYTHON", "FREE_INTERNET", "M5_STICK_V2", "DODIK_DETECTOR"]

print(f"\nЗапуск спама на интерфейсе: {interface}")
print("Нажми Ctrl+C для остановки.")

try:
    while True:
        for ssid in ssids:
            # Генерируем случайный MAC-адрес отправителя
            mac = RandMAC()
            
            # Собираем пакет:
            # RadioTap - заголовок для радиоэфира
            # Dot11 - заголовок Wi-Fi (type 0, subtype 8 = Beacon)
            # Dot11Beacon - сам маяковый кадр
            # Dot11Elt - параметры (название сети и т.д.)
            dot11 = Dot11(type=0, subtype=8, addr1="ff:ff:ff:ff:ff:ff", addr2=mac, addr3=mac)
            beacon = Dot11Beacon(cap="ESS+privacy")
            essid = Dot11Elt(ID="SSID", info=ssid, len=len(ssid))
            
            packet = RadioTap() / dot11 / beacon / essid
            
            # Отправка пакета в бесконечном цикле
            sendp(packet, iface=interface, verbose=False)
            
        time.sleep(0.1)  # Небольшая пауза, чтобы не повесить систему
except KeyboardInterrupt:
    print("\nСкрипт остановлен пользователем.")
except Exception as e:
    print(f"\nОшибка: {e}")
    print("Проверь, запущен ли IDLE от имени Администратора и установлен ли Npcap.")