Kismet: Difference between revisions
Initial |
syntax Tag: 2017 source edit |
||
Line 1: | Line 1: | ||
= What Is Kismet = | = What Is Kismet = | ||
Line 34: | Line 5: | ||
Kismet works with Wi-Fi and Bluetooth interfaces, SDR (software-defined radio) hardware like the RTLSDR, and other specialized capture hardware. | Kismet works with Wi-Fi and Bluetooth interfaces, SDR (software-defined radio) hardware like the RTLSDR, and other specialized capture hardware. | ||
Kismet | 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 is not an attack tool | 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 [https://forums.kali.org/archived/tags.php?tag=kismet Kali Forum about Kismet] | |||
== Installation == | == Installation == | ||
=== Linux === | === Linux === | ||
<pre> | |||
# 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 \ | |||
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 | 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 | git clone https://www.kismetwireless.net/git/kismet.git | ||
cd kismet | cd kismet | ||
./configure | ./configure | ||
make -j$(nproc) | make -j$(nproc) | ||
</ | </pre> | ||
< | === macOS === | ||
<pre> | |||
# Install Xcode (if not installed) | |||
xcode-select -p 1>/dev/null || xcode-select --install | xcode-select -p 1>/dev/null || xcode-select --install | ||
#Install | |||
which -s brew | # 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 | |||
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 | git clone https://www.kismetwireless.net/git/kismet.git | ||
cd kismet | cd kismet | ||
LDFLAGS=-L$(brew --prefix)/lib CPPFLAGS="-I$(brew --prefix)/include -I$(brew --prefix openssl)/include" ./configure | LDFLAGS=-L$(brew --prefix)/lib CPPFLAGS="-I$(brew --prefix)/include -I$(brew --prefix openssl)/include" ./configure | ||
make -j$(nproc) | make -j$(nproc) | ||
sudo usermod -aG kismet $USER</ | sudo usermod -aG kismet $USER | ||
</pre> | |||
== Configuration == | == Configuration == | ||
=== Network Interface Card (NIC) Configuration === | === Network Interface Card (NIC) Configuration === | ||
<pre> | |||
# List available wireless interfaces | |||
iwconfig | iwconfig | ||
# Edit Kismet configuration | |||
cd kismet | cd kismet | ||
nano kismet.conf | |||
</pre> | |||
=== GPS Adapter === | === GPS Adapter === | ||
<pre> | |||
< | |||
gps=true | gps=true | ||
gpsd=true | gpsd=true | ||
gpsd-host=localhost | gpsd-host=localhost | ||
gpsd-port=2947</ | gpsd-port=2947 | ||
</pre> | |||
=== Wireless Adapter === | === Wireless Adapter === | ||
<pre> | |||
ncsource=wlan0 | |||
</pre> | |||
=== Logging === | === Logging === | ||
<pre> | |||
logtypes=pcapdump,netxml | |||
logtemplate=%n-%d-%i.%l | |||
</pre> | |||
=== Web UI === | === Web UI === | ||
<pre> | |||
web=true | |||
webport=2501 | |||
</pre> | |||
=== Remote Capture === | === Remote Capture === | ||
<pre> | |||
remote=true | |||
remotesource=wlan0 | |||
</pre> | |||
=== Plugins === | === Plugins === | ||
<pre> | |||
plugins=alert_log,db-log,db-sqlite,db-geoip | |||
</pre> | |||
=== Alerts === | === Alerts === | ||
<pre> | |||
alerts=alert_log,alert_syslog,alert_screens,alert_webhook | |||
</pre> | |||
== Running Kismet == | == Running Kismet == | ||
<pre> | |||
# 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 | |||
</pre> | |||
== Troubleshooting == | == Troubleshooting == | ||
=== GPSD Error === | === GPSD Error === | ||
==== Linux ==== | ==== Linux ==== | ||
<pre> | |||
< | |||
sudo apt install gpsd gpsd-clients | sudo apt install gpsd gpsd-clients | ||
sudo systemctl start gpsd | |||
sudo systemctl start gpsd | </pre> | ||
< | ==== macOS ==== | ||
<pre> | |||
brew install gpsd | brew install gpsd | ||
gpsd -N -D 2 /dev/ttyUSB0 | |||
gpsd -N -D 2 /dev/ttyUSB0</ | </pre> | ||
=== USB Error === | === USB Error === | ||
==== Linux ==== | ==== Linux ==== | ||
<pre> | |||
sudo usermod -aG kismet $USER | |||
</pre> | |||
< | ==== macOS ==== | ||
sudo | <pre> | ||
sudo dseditgroup -o edit -a $USER -t user kismet | |||
</pre> | |||
== FAQs == | == FAQs == | ||
=== How do I add an SDR as a data source in Kismet? === | === 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? === | === 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. | |||
=== Can I use Kismet for wardriving | |||
=== 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. | |||
== References == | |||
* [https://www.kismetwireless.net/ Kismet Official Site] | |||
* [https://www.kismetwireless.net/docs/readme/intro/#passive-monitoring Passive Monitoring] | |||
* [https://www.kismetwireless.net/docs/readme/quickstart/#compiling-quick-setup Quickstart Guide] | |||
[[Category:Kismet]] | |||
[[Category:Wireless Networking]] | |||
[[Category:Software Installation]] |
Latest revision as of 18:53, 3 December 2024
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.