Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!
SkyProfile — Лёгкий инструмент авиационной разведки, который запрашивает данные ADSB-Exchange по бортовым номерам или идентификаторам ICAO для быстрого профилирования активности воздушных судов. | Kitploit
Лёгкий инструмент авиационной разведки, который запрашивает данные ADSB-Exchange по бортовым номерам или идентификаторам ICAO для быстрого профилирования активности воздушных судов.
SkyProfile — это настольное приложение на PyQt5 для запросов глобальной истории ADSBexchange по одному или нескольким воздушным судам, обнаружения многоэтапных рейсов и экспорта в KML/CSV/JSON/Excel с расширенной аналитикой (аэропорты, маршруты, временные интервалы, позывные, метаданные FAA).
Ключевые возможности
Запрос за диапазон дат по ICAO hex; необязательный поиск бортового номера/регистрации через базовую БД воздушных судов ADSBx.
Надёжное обнаружение этапов (земля → воздух → земля) с флагами воздух/земля, эвристикой по высоте/путевой скорости, 90-секундным пребыванием на земле, обработкой 20-минутных разрывов и историей позывных в реальном времени.
Экспорт (переключается по типу): точки KML, маршруты KML 2D, маршруты KML 3D, тепловая карта аэропортов KML (белые точки, размер которых зависит от активности), CSV, JSON, сводка Excel.
Пакетный режим с опциональной консолидацией отчётов: объединяет все воздушные суда в единый набор офлайн-экспортов (CSV/JSON/KML/Excel). При консолидации отдельные файлы не создаются.
Сопоставление аэропортов (ближайший в пределах 250 км; синтетические ID при их отсутствии) повторно используется в KML и Excel.
Поиск по реестру FAA для воздушных судов с N-номерами (локальная БД в resources/faa_registry).
Индикатор выполнения в GUI со статусом по фазам; элементы управления «Запуск/Остановка»; значок приложения в окне/на панели задач.
Меню настроек с пунктами «Проверить обновления» (проверка тегов GitHub) и «О программе» (версия/информация + атрибуция данных).
Пакетный режим
Входные данные: CSV с колонкой icao_hex (или hex/icao) и/или tail/registration. Каждая строка — одно целевое воздушное судно.
Поведение:
Обрабатывает все перечисленные воздушные суда за выбранный диапазон дат.
Записывает выходные данные по каждому судну в output/<HEX>_<TAIL>/ (только hex, если бортовой номер отсутствует).
Опционально консолидация отчётов: при включении отдельные файлы не создаются, а формируется единый объединённый набор:
Используйте dist/SkyProfile.exe с расположенным рядом dist/resources/ (содержит данные FAA/аэропортов/acdb).
Экспорт и нормализация
Обнаружение этапов: флаги земля/воздух, проверки высоты/путевой скорости, 90-секундное пребывание на земле, посадка при 20-минутном разрыве, усреднение наземных кластеров, история позывных по каждому этапу.
Точки KML: одна метка на прибытие этапа с временем, длительностью, позывным и метаданными.
Маршруты KML 2D/3D: полные треки этапов (не прямые линии); 3D-маршруты включают высоту.
Тепловая карта аэропортов KML: один маркер на посещённый аэропорт, размер зависит от общего числа посещений (прибытия + вылеты), белый цвет — для чистого наложения; атрибуты включают даты прибытия/вылета, hex, бортовой номер.
CSV: одна строка на запись; колонки включают hex и бортовой номер, а также развёрнутый ac_data (без сырой колонки ac_data_json).
JSON: обёрнутая полезная нагрузка на каждое судно: { hex, tail, meta, data: [raw trace_full blobs] }; консолидированный JSON — список таких нагрузок.
Сводка Excel (полная книга с несколькими листами):
Summary: метаданные (hex, регистрация, тип, владелец, модель, флаги, диапазон дат); данные FAA при наличии.
Flights: одна строка на обнаруженный этап; колонки: hex, бортовой номер, ID сегмента, временные метки вылета/прибытия UTC, длительность, ID и названия аэропортов вылета/прибытия, широта/долгота, группировки по дню недели/дню месяца/часу, позывной и история.
Airports: лучшие аэропорты по посещениям (прибытия + вылеты) с ID, ICAO/IATA, названием, городом/страной, количеством, широтой/долготой; включает столбчатую диаграмму «Аэропорты по количеству посещений».
Routes: лучшие маршруты с читаемыми названиями аэропортов и количеством; включает столбчатую диаграмму «Количество пройденных маршрутов».
Ресурсы и кэширование
Общие данные находятся в resources/ (acdb_cache, airport_db, faa_registry). Сборки PyInstaller включают их через --add-data и копируют рядом с EXE.
Кэш треков ADSBx хранится в output/cache/<hex>/YYYY-MM-DD.json.
Экспорт по каждому судну группируется в output/<HEX>_<TAIL>/ (или только hex, если бортового номера нет). Консолидированные пакетные экспорты используют consolidated_<N>ACFT_<date range>* в основной папке output/.
Примечания и ограничения
Пробелы в покрытии по-прежнему могут приводить к пропуску точного времени нахождения на земле; сопоставление с ближайшим аэропортом может прибегать к синтетическим ID LL_lat_lon.
Фотографии в Excel отключены, чтобы избежать повреждения рисунков.
Однофайловый EXE велик, так как включает Python + Qt + зависимости; используйте вариант one-dir, если нужен EXE меньшего размера.
Лицензия
Apache License 2.0 (см. LICENSE). Внешние данные/API остаются на своих собственных условиях.