Kismet
What Is Kismet
Kismet is a wireless network and device detector, sniffer, wardriving tool, and WIDS (wireless intrusion detection) framework.
Kismet works with Wi-Fi and Bluetooth interfaces, SDR (software-defined radio) hardware like the RTLSDR, and other specialized capture hardware.
Kismet operates on Linux, macOS, and to a degree on Windows 10 under the WSL framework. On Linux, it supports most Wi-Fi cards, Bluetooth interfaces, and other hardware devices. On macOS, it works with built-in Wi-Fi interfaces, while on Windows 10, it supports remote captures.
Kismet operates passively (except for specific features like Bluetooth scanning). It is not typically an attack tool but focuses on collecting and analyzing wireless data. Logs generated by Kismet, such as PCAP files and handshakes, can be used with tools like Hashcat or Aircrack-NG for further analysis.
See the Kali Forum about Kismet
Installation
Linux
# Remove Kismet if installed sudo apt autoremove kismet # Install dependencies sudo apt install -y build-essential git libwebsockets-dev pkg-config zlib1g-dev \ libnl-3-dev libnl-genl-3-dev libcap-dev libpcap-dev libnm-dev libdw-dev \ libsqlite3-dev libprotobuf-dev libprotobuf-c-dev protobuf-compiler protobuf-c-compiler \ libsensors4-dev libusb-1.0-0-dev python3 python3-setuptools python3-protobuf \ python3-requests python3-numpy python3-serial python3-usb python3-dev python3-websockets \ librtlsdr0 libubertooth-dev libbtbb-dev gpsd gpsd-clients # Clone and build Kismet git clone https://www.kismetwireless.net/git/kismet.git cd kismet ./configure make -j$(nproc)
macOS
# Install Xcode (if not installed) xcode-select -p 1>/dev/null || xcode-select --install # Install Homebrew and update which -s brew || ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew update # Install dependencies brew install git pkg-config python3 libpcap protobuf protobuf-c pcre librtlsdr libbtbb \ ubertooth libusb openssl libwebsockets gpsd # Clone and build Kismet git clone https://www.kismetwireless.net/git/kismet.git cd kismet LDFLAGS=-L$(brew --prefix)/lib CPPFLAGS="-I$(brew --prefix)/include -I$(brew --prefix openssl)/include" ./configure make -j$(nproc) sudo usermod -aG kismet $USER
Configuration
Network Interface Card (NIC) Configuration
# List available wireless interfaces iwconfig # Edit Kismet configuration cd kismet nano kismet.conf
GPS Adapter
gps=true gpsd=true gpsd-host=localhost gpsd-port=2947
Wireless Adapter
ncsource=wlan0
Logging
logtypes=pcapdump,netxml logtemplate=%n-%d-%i.%l
Web UI
web=true webport=2501
Remote Capture
remote=true remotesource=wlan0
Plugins
plugins=alert_log,db-log,db-sqlite,db-geoip
Alerts
alerts=alert_log,alert_syslog,alert_screens,alert_webhook
Running Kismet
# Run Kismet ./kismet # Common options -c <config file> # Specify a config file -n # Don't start the UI -f <log file> # Log to a file -t <log type> # Log to a specific type -l <log level> # Log at a specific level -p <plugin> # Load a specific plugin -u <user> # Run as a specific user -w <work dir> # Specify a working directory
Troubleshooting
GPSD Error
Linux
sudo apt install gpsd gpsd-clients sudo systemctl start gpsd
macOS
brew install gpsd gpsd -N -D 2 /dev/ttyUSB0
USB Error
Linux
sudo usermod -aG kismet $USER
macOS
sudo dseditgroup -o edit -a $USER -t user kismet
FAQs
How do I add an SDR as a data source in Kismet?
Ensure SDR drivers are properly installed and add the appropriate SDR configuration to the Kismet data source settings.
Why is my GPS not providing accurate data to Kismet?
Ensure your GPS device is correctly installed and has a clear line of sight to the sky. Use `gpsd` and tools like `cgps` to verify operation.
Can I use Kismet for wardriving?
Yes. Configure Kismet to log data to disk, integrate GPS for location data, and use optimized wardriving settings.
How can I improve the capture range of my SDR?
Optimize SDR gain settings and use high-quality antennas for your frequency range.
Can Kismet monitor Bluetooth devices?
Yes. Use compatible Bluetooth interfaces and configure them in Kismet as data sources.