Kismet

Détecteur, sniffeur et système de détection d'intrusion pour réseaux et appareils sans fil. Capture passivement les protocoles 802.11, Bluetooth, Zigbee et autres RF. Wireless network and device detector, sniffer, and intrusion detection system. Passively captures 802.11, Bluetooth, Zigbee, and other RF protocols.

↗ https://www.kismetwireless.net

Overview

Kismet is a passive wireless network detector that captures 802.11 Wi-Fi, Bluetooth, Zigbee, and other RF protocols without transmitting. It detects hidden SSIDs (from probe requests), logs all observed traffic to pcap, and provides a web-based dashboard with device tracking and geolocation.

Starting Kismet

Start Kismet server (with wireless interface)

sudo kismet -c wlan0

Start with multiple interfaces

sudo kismet -c wlan0 -c wlan1

Start as daemon (background)

sudo kismet -c wlan0 --daemonize
# Access web UI: http://localhost:2501
# Default credentials set on first launch

Interface Capture Sources

Standard WiFi interface

sudo kismet -c wlan0

Force monitor mode type

sudo kismet -c wlan0:type=linuxwifi

Bluetooth source (requires hci interface)

sudo kismet -c hci0:type=linuxbluetooth

Drone/remote capture

sudo kismet -c kismet_cap_remote://remote-ip/interface

Multiple sources

sudo kismet -c wlan0 -c wlan1 -c hci0

Key CLI Flags

Don’t start web UI

sudo kismet -c wlan0 --no-httpd

Set log file prefix

sudo kismet -c wlan0 --log-prefix /tmp/kismet/capture

Specify config file

sudo kismet -c wlan0 --configfile /etc/kismet/kismet.conf

Enable GPS

sudo kismet -c wlan0 --gpsd tcp://localhost:2947

Log Files

ls *.kismet    # Database with all captured data
ls *.pcapng    # Raw packet capture
# Open .kismet with Kismet's log tools
kismetdb_dump_devices --in capture.kismet --out devices.json
kismetdb_to_pcap --in capture.kismet --out traffic.pcap

Analyze pcapng with Wireshark

wireshark capture-*.pcapng

Web UI Features

Dashboard at http://localhost:2501:
- Live device list (APs, clients, Bluetooth devices)
- Signal strength, channel, encryption type
- Packet rate graphs
- GPS map (if GPS configured)
- Alert view (deauthentication storms, probe floods, etc.)
- Filter devices by type, channel, signal

Kismet REST API

Get all devices (JSON)

curl -u "admin:password" http://localhost:2501/devices/all_devices.json

Get device by MAC

curl -u "admin:password" http://localhost:2501/devices/by-mac/AA:BB:CC:DD:EE:FF/device.json

Get alerts

curl -u "admin:password" http://localhost:2501/alerts/alerts.json

Get statistics

curl -u "admin:password" http://localhost:2501/system/status.json

Configuration File

ncsource=wlan0                    # Default capture source
log_prefix=/var/log/kismet/       # Log directory
log_types=kismet,pcapng           # Log formats
server_port=2501                  # Web UI port
httpd_username=kismet             # Web UI user
httpd_password=kismet             # Web UI password

Tips

  • Kismet is purely passive — it doesn’t send any packets, making it stealthier than active scanners
  • Hidden SSIDs are revealed when clients send probe requests to connect
  • Use GPS integration with gpsd for geographic mapping of wireless networks
  • Kismet supports drone mode — run the capture on a Raspberry Pi, analyze remotely
Common capture source types
linuxwifi       Standard Linux 802.11 WiFi
linuxbluetooth  Linux Bluetooth HCI
rtladsb         RTL-SDR for ADS-B (aircraft)
rtlamr          RTL-SDR for AMR (smart meters)
nrf52840        Nordic nRF52 BLE sniffer
ubertooth       Ubertooth BLE/Bluetooth sniffer
ticc2531        TI CC2531 Zigbee sniffer
kismet_cap_remote  Remote capture over network

Vue d’ensemble

Kismet est un détecteur de réseaux sans fil purement passif qui capture le WiFi 802.11, le Bluetooth, le Zigbee et d’autres protocoles RF sans émettre. Il détecte les SSID cachés (à partir des probe requests), journalise tout le trafic observé au format pcap, et propose un tableau de bord web avec suivi et géolocalisation des appareils.

Démarrer Kismet

# Démarrer le serveur Kismet (avec interface sans fil)
sudo kismet -c wlan0

# Démarrer avec plusieurs interfaces
sudo kismet -c wlan0 -c wlan1

# Démarrer en daemon (arrière-plan)
sudo kismet -c wlan0 --daemonize

# Accéder à l'interface web : http://localhost:2501
# Identifiants par défaut définis au premier lancement

Sources de capture (interfaces)

# Interface WiFi standard
sudo kismet -c wlan0

# Forcer le type de mode moniteur
sudo kismet -c wlan0:type=linuxwifi

# Source Bluetooth (nécessite une interface hci)
sudo kismet -c hci0:type=linuxbluetooth

# Capture drone/distante
sudo kismet -c kismet_cap_remote://remote-ip/interface

# Sources multiples
sudo kismet -c wlan0 -c wlan1 -c hci0

Options CLI clés

# Ne pas démarrer l'interface web
sudo kismet -c wlan0 --no-httpd

# Définir le préfixe des fichiers de log
sudo kismet -c wlan0 --log-prefix /tmp/kismet/capture

# Spécifier le fichier de configuration
sudo kismet -c wlan0 --configfile /etc/kismet/kismet.conf

# Activer le GPS
sudo kismet -c wlan0 --gpsd tcp://localhost:2947

Fichiers de log

ls *.kismet    # Base de données avec toutes les données capturées
ls *.pcapng    # Capture de paquets brute

# Ouvrir le .kismet avec les outils de log de Kismet
kismetdb_dump_devices --in capture.kismet --out devices.json
kismetdb_to_pcap --in capture.kismet --out traffic.pcap

# Analyser le pcapng avec Wireshark
wireshark capture-*.pcapng

Fonctionnalités de l’interface web

Dashboard sur http://localhost:2501 :
- Liste des appareils en direct (APs, clients, appareils Bluetooth)
- Force du signal, canal, type de chiffrement
- Graphiques de débit de paquets
- Carte GPS (si le GPS est configuré)
- Vue des alertes (rafales de déauthentification, floods de probe, etc.)
- Filtrer les appareils par type, canal, signal

API REST de Kismet

# Récupérer tous les appareils (JSON)
curl -u "admin:password" http://localhost:2501/devices/all_devices.json

# Récupérer un appareil par MAC
curl -u "admin:password" http://localhost:2501/devices/by-mac/AA:BB:CC:DD:EE:FF/device.json

# Récupérer les alertes
curl -u "admin:password" http://localhost:2501/alerts/alerts.json

# Récupérer les statistiques
curl -u "admin:password" http://localhost:2501/system/status.json

Fichier de configuration

ncsource=wlan0                    # Source de capture par défaut
log_prefix=/var/log/kismet/       # Répertoire de logs
log_types=kismet,pcapng           # Formats de log
server_port=2501                  # Port de l'interface web
httpd_username=kismet             # Utilisateur de l'interface web
httpd_password=kismet             # Mot de passe de l'interface web

Conseils

  • Kismet est purement passif : il n’envoie aucun paquet, ce qui le rend plus furtif que les scanners actifs
  • Les SSID cachés sont révélés lorsque les clients envoient des probe requests pour se connecter
  • Utiliser l’intégration GPS avec gpsd pour cartographier géographiquement les réseaux sans fil
  • Kismet supporte le mode drone : lancer la capture sur un Raspberry Pi, analyser à distance
Types de sources de capture courants
linuxwifi       Standard Linux 802.11 WiFi
linuxbluetooth  Linux Bluetooth HCI
rtladsb         RTL-SDR for ADS-B (aircraft)
rtlamr          RTL-SDR for AMR (smart meters)
nrf52840        Nordic nRF52 BLE sniffer
ubertooth       Ubertooth BLE/Bluetooth sniffer
ticc2531        TI CC2531 Zigbee sniffer
kismet_cap_remote  Remote capture over network