Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
airtop — htop для эфира — живая RF-панель управления 802.11 (Wi-Fi) в вашем терминале | Kitploit
Инструменты/GitHubGitHub/yeet-src/airtop
Сниффинг и анализ пакетовАудит Wi-FiСбор информацииБезопасность беспроводных сетейАнализ DNS
GitHubyeet-src/airtop

airtop

htop для эфира — живая RF-панель управления 802.11 (Wi-Fi) в вашем терминале

Репозиторий
59268 дней назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

airtop

htop для эфира — живая RF-панель 802.11 (Wi-Fi) в вашем терминале.

Linux yeet + eBPF GPL

airtop running in anonymize mode

airtop превращает Wi-Fi-трафик вокруг вас в живую терминальную панель — частотный спектр ближайших точек доступа, сигнальные графики для каждой станции, ленту активности по типам кадров, гистограмму RSSI и прокручиваемый список обнаруженных сетей — всё это рисуется с помощью брайля и блочной графики поверх eBPF.

[!TIP] Никакого monitor mode, никаких raw-сокетов. airtop подключает eBPF-программы к mac80211/cfg80211 и читает 802.11-кадры по мере их прохождения через Wi-Fi-стек ядра, поэтому он работает на вашем обычном подключённом интерфейсе, не разрывая соединение.

Быстрый старт

root@kitploit:~
curl -fsSL https://yeet.cx | sh
yeet run https://github.com/yeet-src/airtop

Для скриншота, которым можно поделиться, анонимизируйте SSID и MAC (ваша сеть и сети соседей будут переименованы в network-01, station-02, …):

root@kitploit:~
yeet run https://github.com/yeet-src/airtop -- --anonymize

Работает до нажатия Ctrl-C. Измените размер терминала — макет перестроится; минимальный размер 80×24.

Чтобы показать соседние сети, ядру нужны результаты сканирования. Ваша ОС сканирует периодически сама, или можно запустить принудительно:

root@kitploit:~
nmcli dev wifi rescan        # или: iw dev <iface> scan

Краткий обзор 802.11 за 60 секунд

Wi-Fi — это семейство стандартов IEEE 802.11. Общая модель:

Всё состоит из кадров. Ваш ноутбук, телефон и маршрутизатор обмениваются короткими радиопакетами, называемыми кадрами. Каждый кадр содержит MAC-адреса, и один из них (BSSID) идентифицирует точку доступа, к которой он относится.

Три класса кадров:

КлассПримерыНазначение
Управляющие (Management)Beacon, Probe, Auth, Assoc, Deauthобъявлять сети, подключаться и отключаться
Контрольные (Control)ACK, RTS/CTSкоординация, кто может передавать
Данные (Data)ваш реальный трафикпередача полезной нагрузки

Точки доступа передают маячки (beacon). AP объявляет о себе примерно 10 раз в секунду, отправляя beacon-кадр с именем сети (SSID) и BSSID. Так формируется список Wi-Fi на вашем телефоне, и так airtop обнаруживает точки доступа.

Каналы и частота. Wi-Fi работает в диапазонах (2,4 ГГц, 5 ГГц, 6 ГГц), каждый разделён на каналы, и каждый канал — это центральная частота в МГц (канал 6 ≈ 2437 МГц, канал 161 ≈ 5805 МГц). Радио слушает один канал за раз, поэтому вы в основном видите трафик на своём канале.

Уровень сигнала (RSSI) измеряется в dBm. Значения всегда отрицательные, и чем ближе к нулю, тем сильнее сигнал:

RSSIкачество
−30 … −50 dBmотлично (рядом с источником)
−50 … −67 dBmхорошо
−67 … −80 dBмприемлемо
−80 … −90 dBмслабый / пограничный

Типичные сценарии использования

В основном домашние пользователи, которые отлаживают нестабильный Wi-Fi, и сетевые администраторы, выбирающие каналы перед мероприятием.

  • Ваш видеозвонок прерывается. Перегружен ли ваш канал?
  • Гость не может подключиться. Передаёт ли точка доступа маячки?
  • Выбор канала для демонстрации. Какова RF-обстановка?
  • Всплеск deauth-кадров. Атака или неисправный маршрутизатор?

Что вы видите

Каждая панель соответствует описанным выше концепциям:

Заголовок — время работы, общее количество кадров, активные станции, обнаруженные точки доступа, количество beacon-кадров, количество deauth-кадров (красным, если не ноль), и ваш текущий канал. Счётчик deauth — за ним стоит следить; в здоровых сетях он равен нулю.

Частотный спектр — каждая обнаруженная точка доступа отображается как «горб» сигнала, расположенный на её реальной центральной частоте по оси МГц. Высота и цвет показывают RSSI; подпись — SSID + dBm. Перекрывающиеся горбы показывают помехи на совпадающем канале — классический вид Wi-Fi-анализатора и ответ на вопрос «почему Wi-Fi медленный».

RSSI × время — брайлевский линейный график для каждой активной станции, показывающий изменение её сигнала за последние несколько секунд. Наблюдайте, как затухает сигнал, когда устройство отходит от точки доступа, или как он скачет, когда кто-то передвигает ноутбук.

Лента кадров — тепловая карта типов кадров по времени; цвет ячейки = сколько кадров этого типа поступило за интервал. Всплеск deauth-кадров мгновенно подсвечивает эту строку — это шаблон тревоги, который вам нужен.

Гистограмма сигнала — распределение принятых кадров по RSSI. «Форма» вашей RF-среды: узкий пик около −50 dBm означает, что вы рядом с одной сильной точкой доступа; размазывание от −60 до −80 — перегруженная среда.

Точки доступа — обнаруженные SSID с каналом, индикатором сигнала и dBm, отсортированные от самого сильного.

Как это работает

Один BPF-объект (airtop.bpf.c) подключает две fentry-программы и передаёт события в пользовательское пространство через кольцевые буферы:

ПерехватчикЧто захватывается
fentry/ieee80211_rx_listкаждый принятый 802.11-кадр: тип/подтип, адреса, RSSI из ieee80211_rx_status
fentry/cfg80211_inform_bss_frame_dataкаждую точку доступа, которую обнаружило ядро: SSID, канал, сигнал

Панель работает в среде выполнения V8 от yeet, подписываясь на эти кольцевые буферы и отрисовывая терминальный интерфейс:

root@kitploit:~
main.js       точка входа: размер tty, цикл отрисовки, привязка/подписка BPF
state.js      живые данные + обработка кадров/сканирования
render.js     ANSI, цветовые градиенты, брайлевские холсты/графики (чистые)
dashboard.js  панели + компоновка (renderDashboard)

Требования

[!IMPORTANT] Linux с BTF: CONFIG_DEBUG_INFO_BTF=y и CONFIG_DEBUG_INFO_BTF_MODULES=y. По умолчанию включено в текущих Arch, Fedora, Ubuntu и Debian 12+. CO-RE означает, что не нужна перекомпиляция под каждое ядро.

  • Wi-Fi-интерфейс, использующий стандартный стек cfg80211/mac80211 (любая обычная Wi-Fi-карта на Linux).
  • Демон yeet, который обрабатывает привилегированную загрузку BPF. Установка: curl -fsSL https://yeet.cx | sh.

Честные предостережения

[!NOTE] Чего airtop не делает:

  • Подключённый интерфейс слышит только свой канал плюс то, что сканирование затрагивает кратковременно, поэтому спектр и список AP заполняются по мере проведения сканирований, а текущий покадровый трафик в основном относится к вашему каналу. Полный обзор диапазона потребовал бы monitor mode + переключение каналов.
  • Он подсчитывает кадры, а не байты. «Активность» — это количество кадров, а не время эфира.
  • Скорость передачи и повторные передачи не захватываются. Для этого нужен отдельный перехватчик tx_status.
  • Цели fentry на практике стабильны, но не являются ABI ядра; точные данные зависят от вашего Wi-Fi-драйвера.

Вопросы сообщества

Нужен ли monitor mode? Нет. В этом и суть. airtop подключается к Wi-Fi-стеку ядра изнутри, поэтому он работает на вашем обычном подключённом интерфейсе.

Сбросит ли он моё соединение? Нет. Переключения режима не происходит; ваш интерфейс остаётся подключённым к тому, к чему был подключён. airtop просто наблюдает за тем, что ядро уже делает.

Почему я вижу только одну или две сети? Потому что ваше радио большую часть времени слушает один канал (свой). Соседние сети появляются, когда ваша ОС выполняет периодическое сканирование, или если вы запускаете принудительное nmcli dev wifi rescan / iw dev <iface> scan. Полный обзор диапазона требует monitor mode + переключения каналов — это другой инструмент.

Это законно? Пассивное наблюдение за 802.11-кадрами в воздухе вокруг вас законно в большинстве юрисдикций; ваше радио уже принимает их, и airtop просто показывает, что есть. Активное вмешательство (панель deauth обнаруживает атаки, но не выполняет их) — это уже другая история. Если вы используете корпоративную сеть, проверьте политику использования.

Чем это отличается от Kismet, airodump-ng или Wireshark? Эти инструменты делают больше в monitor mode: полный покадровый захват, экспорт в PCAP, дешифровка. airtop работает на вашем обычном интерфейсе и даёт обзорную панель «с первого взгляда». Для пентеста используйте airodump-ng. Чтобы узнать, почему оборвался звонок, используйте этот инструмент.

Сборка из исходников

root@kitploit:~
make          # генерирует include/vmlinux.h, собирает bin/airtop.bpf.o
make vmlinux  # принудительно обновить заголовок типов ядра
make clean

Требуется clang (для BPF) и bpftool; libbpf/libbpf-dev из вашего дистрибутива для заголовков. Сгенерированные include/vmlinux.h и bin/ добавлены в .gitignore.

Запись демонстрации

GIF создаётся с помощью VHS из assets/airtop.tape:

root@kitploit:~
vhs assets/airtop.tape    # -> assets/airtop.gif

Он запускает airtop «за кадром», чтобы GIF открывался уже на живой панели. Во время записи запускайте сканирование Wi-Fi в другой оболочке, чтобы заполнить спектр и список AP.

Лицензия

BPF-программа распространяется под лицензией GPL (SEC("license") = "GPL"), как того требуют используемые ею вспомогательные функции ядра.


Создано yeet. yeet — это среда выполнения Linux для написания программ eBPF и живых системных панелей на JavaScript.

Скачать инструмент