Skip to content

kiraping1337/WirelessNetworkSecurity

Repository files navigation

Wireless Network Security

Python PyQt6 PostgreSQL Windows

О проекте

Wireless Network Security – десктопное приложение для мониторинга безопасности беспроводных сетей и Bluetooth-устройств, разработанное на Python с использованием PyQt6.

Приложение объединяет инструменты анализа Wi-Fi и Bluetooth в едином интерфейсе, автоматически оценивает уровень безопасности обнаруженных устройств и сетей, сохраняет историю сканирований в PostgreSQL и предоставляет администратору средства просмотра журналов, статистики и управления системой.

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

Проект был выполнен в рамках выпускной квалификационной работы


Возможности

Анализ Wi-Fi

  • поиск доступных Wi-Fi сетей;
  • определение SSID, BSSID, канала и уровня сигнала;
  • определение типа шифрования;
  • автоматическая оценка уровня безопасности сети;
  • отображение рекомендаций по повышению безопасности;
  • подключение к выбранной сети из приложения;
  • сохранение результатов сканирования в базе данных.

Анализ Bluetooth

  • поиск Bluetooth Classic и Bluetooth Low Energy устройств;
  • определение производителя устройства;
  • определение категории устройства;
  • определение версии Bluetooth;
  • анализ случайного MAC-адреса;
  • определение используемого протокола;
  • оценка уровня безопасности устройства;
  • рекомендации по устранению потенциальных рисков.

Автоматический мониторинг

  • автоматическое повторное сканирование через заданный интервал;
  • обновление результатов без участия пользователя;
  • отображение новых устройств и сетей;
  • уведомление об обнаружении потенциально небезопасных объектов.

Журнал и история

  • хранение результатов сканирований;
  • журнал Wi-Fi сетей;
  • журнал Bluetooth устройств;
  • фильтрация записей;
  • экспорт журналов в CSV.

Статистика

  • отображение статистики сканирований;
  • визуализация данных с использованием Matplotlib;
  • анализ количества обнаруженных сетей и устройств;
  • просмотр накопленной истории.

Администрирование

  • регистрация пользователей;
  • авторизация;
  • разделение ролей пользователя и администратора;
  • просмотр журналов;
  • управление пользователями.

Используемые технологии

Язык

Python

Работа с базой данных

Postgres

Визуализация

Matplotlib

NumPy

Интерфейс

  • PyQt6

Работа с Bluetooth

  • Bleak
  • WinRT Bluetooth API

Анализ Wi-Fi

  • Windows WLAN (netsh wlan)

Дополнительно

  • python-dotenv
  • hashlib
  • threading

Структура проекта

WirelessNetworkSecurity/
│
├── main.py                # Точка входа
├── scanner.py             # Анализ Wi-Fi
├── bt_scanner.py          # Анализ Bluetooth
├── db.py                  # Работа с PostgreSQL
├── config.py              # Конфигурация приложения
├── style.py               # Стили интерфейса
├── icon.py                # Иконка
├── db_schema.sql          # SQL-схема базы данных
├── requirements.txt
│
└── ui/                    # Интерфейс
    ├── login_window.py
    ├── user_window.py
    ├── admin_window.py
    └── bt_window.py

Диаграмма вариантов использования

use case

ER диаграмма

er diagram

Скриншоты

Главное окно пользователя

Окно авторизации

login

Результаты Wi-Fi сканирования

scan wifi

Результаты Bluetooth сканирования

scan bt

Панель администратора

Окно статистики

admin stat

Журнал событий

admin log


Установка

git clone https://github.com/kiraping1337/WirelessNetworkSecurity.git
cd WirelessNetworkSecurity

python -m venv venv

venv\Scripts\activate

pip install -r requirements.txt

Создать базу данных PostgreSQL и выполнить:

db_schema.sql

Заполнить параметры подключения в .env.

DB_NAME=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=

Запустить приложение:

python main.py

Особенности проекта

  • современный графический интерфейс на PyQt6;
  • автоматический анализ уровня безопасности;
  • поддержка Wi-Fi и Bluetooth в одном приложении;
  • автоматическое сканирование;
  • хранение истории в PostgreSQL;
  • экспорт журналов в CSV;
  • построение статистики;
  • разграничение прав пользователей;
  • поддержка системного трея;
  • уведомления о событиях.

Системные требования

  • Windows 10/11
  • Python 3.12+
  • PostgreSQL
  • Bluetooth адаптер
  • Wi-Fi адаптер

About

Wireless Network Security – десктопное приложение для мониторинга безопасности беспроводных сетей Wi-Fi и Bluetooth-устройств.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages