Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
airtop — htop pour les ondes — un tableau de bord RF 802.11 (Wi-Fi) en direct dans votre terminal | Kitploit
Outils/GitHubGitHub/yeet-src/airtop
Sniffing et Analyse de PaquetsAudit Wi-FiCollecte d'InformationsSécurité Sans FilAnalyse DNS
GitHubyeet-src/airtop

airtop

htop pour les ondes — un tableau de bord RF 802.11 (Wi-Fi) en direct dans votre terminal

Voir le dépôt
592il y a 10 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

airtop

htop pour les ondes — un tableau de bord RF 802.11 (Wi-Fi) en direct dans votre terminal.

Linux yeet + eBPF GPL

airtop running in anonymize mode

airtop transforme le trafic Wi-Fi autour de vous en un tableau de bord en direct dans le terminal — un spectre de fréquences des points d'accès à proximité, des traces de signal par station, un flux d'activité par type de trame, un histogramme RSSI et une liste déroulante des réseaux découverts — dessiné avec des caractères braille et des graphiques en blocs sur eBPF.

[!TIP] Pas de mode moniteur, pas de sockets bruts. airtop attache des programmes eBPF à mac80211/cfg80211 et lit les trames 802.11 lorsqu'elles traversent la pile Wi-Fi du noyau, donc il fonctionne sur votre interface normale connectée sans perdre votre lien.

Démarrage rapide

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

Pour une capture d'écran partageable, anonymisez les SSID et les MAC (votre réseau et ceux de vos voisins sont renommés network-01, station-02, …) :

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

S'exécute jusqu'à Ctrl-C. Redimensionnez le terminal et la disposition se réorganise ; minimum 80×24.

Pour révéler les réseaux voisins, le noyau a besoin des résultats de scan. Votre OS scanne périodiquement tout seul, ou forcez-en un :

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

Une introduction à 802.11 en 60 secondes

Le Wi-Fi est la famille de normes IEEE 802.11. Le modèle mental :

Tout est une trame. Votre ordinateur portable, téléphone et routeur échangent de courts paquets radio appelés trames. Chaque trame porte des adresses MAC, et l'une d'elles (le BSSID) identifie le point d'accès auquel elle appartient.

Trois classes de trames :

ClassExemplesObjectif
ManagementBeacon, Probe, Auth, Assoc, Deauthannoncer, rejoindre et quitter les réseaux
ControlACK, RTS/CTScoordonner qui peut parler
Datavotre trafic réeltransporter les données

Les points d'accès émettent des balises. Un PA s'annonce environ 10 fois par seconde avec une trame de balise portant son nom de réseau (SSID) et son BSSID. C'est ainsi que la liste Wi-Fi de votre téléphone se remplit, et comment airtop découvre les PA.

Canaux et fréquence. Le Wi-Fi vit dans des bandes (2.4 GHz, 5 GHz, 6 GHz), chacune divisée en canaux, et chaque canal est une fréquence centrale en MHz (canal 6 ≈ 2437 MHz, canal 161 ≈ 5805 MHz). Une radio écoute un canal à la fois, c'est pourquoi vous voyez principalement le trafic sur votre canal.

La force du signal (RSSI) est mesurée en dBm. Les valeurs sont toujours négatives, et plus proches de zéro est plus fort :

RSSIqualité
−30 … −50 dBmexcellent (juste à côté)
−50 … −67 dBmbon
−67 … −80 dBmutilisable
−80 … −90 dBmfaible / marginal

Cas d'utilisation courants

Principalement des utilisateurs domestiques déboguant un Wi-Fi instable, et des administrateurs réseau choisissant des canaux avant un événement.

  • Votre appel vidéo saccade. Votre canal est-il congestionné ?
  • Un invité ne peut pas se connecter. Le PA émet-il des balises ?
  • Choisir un canal pour une démo. À quoi ressemble l'environnement RF ?
  • Les trames Deauth augmentent. Attaque, ou routeur défaillant ?

Ce que vous voyez

Chaque panneau correspond aux concepts ci-dessus :

En-tête — temps de fonctionnement, trames totales vues, stations actives, PA découverts, nombre de balises, nombre de deauth (en rouge si non nul), et votre canal actuel. Le compteur de deauth est celui à surveiller ; les réseaux sains en ont zéro.

Spectre de fréquences — chaque PA découvert dessiné comme une « bosse » de signal positionnée à sa fréquence centrale réelle sur un axe MHz. La hauteur et la couleur montrent le RSSI ; l'étiquette est le SSID + dBm. Des bosses qui se chevauchent révèlent une congestion sur le même canal — la vue classique d'un analyseur Wi-Fi, et la réponse à « pourquoi mon Wi-Fi est lent ? »

RSSI × temps — un graphique en ligne braille par station active traçant son signal sur les dernières secondes. Regardez un lien s'affaiblir lorsqu'un appareil s'éloigne du PA, ou bondir quand quelqu'un déplace son ordinateur portable.

Flux de trames — une carte de chaleur des types de trames dans le temps ; couleur de cellule = combien de ce type sont arrivées par tranche. Un déluge de deauth illumine cette ligne instantanément, ce qui est le modèle d'alerte que vous voulez vraiment.

Histogramme du signal — distribution des trames reçues par RSSI. La « forme » de votre environnement RF : un pic serré autour de −50 dBm signifie que vous êtes proche d'un PA fort, une traînée de −60 à −80 signifie un environnement encombré.

Points d'accès — SSID découverts avec canal, indicateur de signal et dBm, triés du plus fort au plus faible.

Comment ça fonctionne

Un seul objet BPF (airtop.bpf.c) attache deux programmes fentry et envoie les événements vers l'espace utilisateur via des tampons annulaires :

HookCe qui est capturé
fentry/ieee80211_rx_listchaque trame 802.11 reçue : type/sous-type, adresses, RSSI depuis ieee80211_rx_status
fentry/cfg80211_inform_bss_frame_datachaque PA découvert par les scans du noyau : SSID, canal, signal

Le tableau de bord fonctionne dans le runtime V8 de yeet, s'abonnant à ces tampons annulaires et rendant l'interface terminal :

root@kitploit:~
main.js       entrée : taille du terminal, boucle de rendu, liaison/abonnement BPF
state.js      données en direct + ingestion de trames/scans
render.js     ANSI, rampes de couleurs, toile braille et graphiques (pur)
dashboard.js  panneaux + disposition (renderDashboard)

Prérequis

[!IMPORTANT] Linux avec BTF : CONFIG_DEBUG_INFO_BTF=y et CONFIG_DEBUG_INFO_BTF_MODULES=y. Par défaut sur les versions actuelles d'Arch, Fedora, Ubuntu et Debian 12+. CO-RE signifie pas de recompilation par noyau.

  • Une interface Wi-Fi utilisant la pile standard cfg80211/mac80211 (n'importe quelle carte Wi-Fi normale sous Linux).
  • Le démon yeet, qui gère le chargement BPF privilégié. curl -fsSL https://yeet.cx | sh l'installe.

Limites honnêtes

[!NOTE] Ce que airtop ne fait pas :

  • Une interface connectée n'entend que son propre canal plus les brefs scans, donc le spectre et la liste des PA se remplissent au fur et à mesure des scans, et le trafic en direct par trame est principalement votre canal. Une analyse complète de la bande nécessiterait un mode moniteur + saut de canal.
  • Il compte les trames, pas les octets. « Activité » est le nombre de trames, pas le temps d'antenne.
  • Le taux TX et les retransmissions ne sont pas capturés. C'est un hook tx_status séparé.
  • Les cibles fentry sont stables en pratique mais ne sont pas une ABI du noyau ; les données exactes dépendent de votre pilote Wi-Fi.

Questions de la communauté

Est-ce que cela nécessite le mode moniteur ? Non. C'est tout l'intérêt. airtop s'accroche à la pile Wi-Fi du noyau depuis l'intérieur, donc il fonctionne sur votre interface normale connectée.

Cela va-t-il couper ma connexion ? Non. Il n'y a pas de changement de mode ; votre interface reste associée à ce à quoi elle est associée. airtop observe ce que le noyau fait déjà.

Pourquoi je ne vois qu'un ou deux réseaux ? Parce que votre radio écoute un seul canal (le sien) la plupart du temps. Les réseaux voisins apparaissent lorsque votre OS fait des scans périodiques, ou lorsque vous en forcez un avec nmcli dev wifi rescan / iw dev <iface> scan. Une analyse complète de la bande nécessite le mode moniteur + saut de canal, ce qui est un autre outil.

Est-ce légal ? Observer passivement les trames 802.11 dans les airs autour de vous est légal dans la plupart des juridictions ; votre radio les reçoit déjà, et airtop vous montre simplement ce qui est là. L'interférence active (le panneau deauth détecte les attaques, il ne les exécute pas) est une autre histoire. Si vous êtes sur un réseau d'entreprise, vérifiez votre charte d'utilisation.

En quoi est-ce différent de Kismet, airodump-ng ou Wireshark ? Ces outils font plus avec le mode moniteur : capture complète par trame, export PCAP, déchiffrement. airtop fonctionne sur votre interface normale et vous donne un tableau de bord en un coup d'œil. Pour les tests de pénétration, utilisez airodump-ng. Pour savoir pourquoi votre appel a été interrompu, utilisez celui-ci.

Construction à partir des sources

root@kitploit:~
make          # génère include/vmlinux.h, construit bin/airtop.bpf.o
make vmlinux  # force le rafraîchissement de l'en-tête de type du noyau
make clean

Nécessite clang (cible BPF) et bpftool ; les libbpf / libbpf-dev de votre distribution pour les en-têtes. Les fichiers générés include/vmlinux.h et bin/ sont dans gitignore.

Enregistrement de la démo

Le GIF est produit avec VHS à partir de assets/airtop.tape :

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

Il lance airtop hors caméra pour que le GIF s'ouvre sur le tableau de bord en direct. Lancez des scans Wi-Fi dans un autre terminal pendant l'enregistrement pour remplir le spectre et la liste des PA.

Licence

Le programme BPF est sous GPL (SEC("license") = "GPL"), comme l'exigent les helpers du noyau qu'il utilise.


Construit par yeet. yeet est un runtime Linux pour écrire des programmes eBPF et des tableaux de bord système en direct en JavaScript.

Télécharger l’outil