Kali Live Boot - Startup Steps

ONE-TIME = Only needs to be done once during initial setup

1. Update APT Sources to Rolling Repository ONE-TIME

Ensure you're using the live rolling repo (not a snapshot) for latest packages:

sudo bash -c 'cat > /etc/apt/sources.list << EOF # Kali Linux Rolling Repository - Always Latest deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware deb-src http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware EOF'

Update package lists:

sudo apt update

Upgrade all packages to latest:

sudo apt full-upgrade -y

Note: This removes the kali-last-snapshot source from the live USB and uses the online rolling repo instead.

2. Sync Time (NTP)

Enable automatic time sync:

sudo timedatectl set-ntp true

3. Set 12-Hour Clock Format (AM/PM)

Set XFCE panel clock to 12-hour format:

xfconf-query -c xfce4-panel -p /plugins/plugin-19/digital-time-format -s "%I:%M %p"

4. Set Timezone to EST (New York/Miami)

Set your system timezone to Eastern Time:

sudo timedatectl set-timezone America/New_York

5. Test GPS - Check for Coordinate Lock

Install GPS tools if needed:

sudo apt install gpsd gpsd-tools gpsd-clients

Run text-based GPS monitor:

cgps

Or run GUI GPS monitor:

xgps

Wait for "3D FIX" and coordinates to appear. Go outside for better signal.

6. Configure Kismet GPS ONE-TIME

Edit Kismet config to enable GPS:

sudo nano /etc/kismet/kismet.conf

Find and uncomment this line:

gps=gpsd:host=localhost,port=2947

Save with Ctrl+O, Exit with Ctrl+X

7. Set Regulatory Domain (Unlock All Channels)

Check current region:

iw reg get

Set to US for full channel access:

sudo iw reg set US

8. Configure WiFi Adapter for Monitor Mode

Check wireless interfaces:

iwconfig

Put WiFi adapter into monitor mode (replace wlan1 with your interface):

sudo airmon-ng start wlan1

Verify monitor mode is active:

iwconfig

9. Enable Bluetooth Adapter for BLE Scanning

Check Bluetooth adapters:

hciconfig

Bring up the ALFA BLE adapter (hci0):

sudo hciconfig hci0 up

10. Add User to Kismet Group ONE-TIME

Add your user to the kismet group so capture helpers can run properly:

sudo usermod -aG kismet kali

Note: You must log out and back in (or reboot) for this to take effect.

This prevents "IPC connection closed" errors when running Kismet.

11. Setup RTL-SDR Dongles ONE-TIME

Install RTL-SDR tools:

sudo apt install rtl-sdr rtl-433

Blacklist the DVB driver (prevents conflicts):

echo "blacklist dvb_usb_rtl28xxu" | sudo tee /etc/modprobe.d/blacklist-rtl.conf

Set unique serial numbers for each SDR dongle:

rtl_eeprom -d 0 -s 00000433   (Blog V4 - 433MHz IoT)

rtl_eeprom -d 1 -s 00001090   (Nooelec - 1090MHz ADSB)

Unplug and replug dongles after setting serials.

Test RTL-SDR is working:

rtl_test

Add RTL-SDR sources to Kismet config:

sudo nano /etc/kismet/kismet.conf

Add these lines at the bottom:

source=rtl433-1:name=RTL_SDR
source=rtladsb-0:device=0,name=ADSB_SDR

Note: These use device indices. The kismet_site.conf (step 12) uses serial numbers instead for reliability.

12. Create Kismet Logs Folder ONE-TIME

Create a dedicated folder to organize all Kismet log files:

mkdir -p "/home/kali/Documents/KISMET LOGS"

This keeps all .kismet and .pcapng files in one place instead of scattered in the current directory.

13. Configure Kismet (Log Location, PCAP, Sources) ONE-TIME

Create/edit the Kismet site config:

sudo nano /etc/kismet/kismet_site.conf

Add these lines:

# Save logs to Documents folder
log_prefix=/home/kali/Documents/KISMET LOGS/

# Enable both kismet database AND pcapng raw packet capture
log_types=kismet,pcapng

# Pre-configured sources
source=wlan1mon
source=hci0:type=linuxbluetooth,name=ALFA_BLE
source=rtl433-00000433:name=RTL_SDR_433
# ADSB disabled due to bug in Kismet 2025.09.R1
# source=rtladsb-00001090:name=ADSB_SDR

Save with Ctrl+O, Exit with Ctrl+X

This configures:

14. Start Kismet

Run Kismet with all sources:

sudo kismet -c wlan1mon -c hci0:type=linuxbluetooth -c rtl433-00000433

Or if sources are pre-configured in kismet_site.conf:

sudo kismet

Open browser to: http://localhost:2501

Login: kali / kali

15. Cleanup - Restore WiFi Adapter

Stop monitor mode and restore normal WiFi:

sudo airmon-ng stop wlan1mon

Restart NetworkManager if needed:

sudo systemctl restart NetworkManager

Reference Information

Known Issues

ADSB Capture Disabled: Kismet 2025.09.R1 has a bug in the native ADSB decoder - it receives data but doesn't decode aircraft. The rtladsb source is commented out until this is fixed.

To test ADSB manually: rtl_adsb (this works and shows aircraft)

RTL-SDR Serial Numbers

Your RTL-SDR dongles have been assigned unique serial numbers:

Check devices: rtl_test

What Gets Captured

WiFiAccess points, clients, SSIDs, signal strength, GPS location
BluetoothBLE devices, BR/EDR classic devices, advertisements
433MHz IoTWeather stations, TPMS tire sensors, garage doors, doorbells, smart home sensors
ADSB(Disabled - bug) Aircraft positions, callsigns, altitude

Log Files

.kismet - SQLite database with all device metadata, decoded sensor data, GPS coordinates

.pcapng - Raw packet captures (for Wireshark analysis)

Location: /home/kali/Documents/KISMET LOGS/

Why "sudo kismet" Works (Pre-Configured Sources)

After completing the one-time setup (Steps 5, 9, 10, 11), you can simply run:

sudo kismet

This works because sources are pre-defined in kismet_site.conf. Kismet loads config files in this order:

  1. /etc/kismet/kismet.conf - Main config (includes other .conf files)
  2. /etc/kismet/kismet_site.conf - Overrides everything (your custom settings)

The source= lines in kismet_site.conf tell Kismet which devices to capture from automatically:

source=wlan1mon                                    # WiFi in monitor mode
source=hci0:type=linuxbluetooth,name=ALFA_BLE      # Bluetooth adapter
source=rtl433-00000433:name=RTL_SDR_433            # 433MHz IoT (by serial)

Command line vs Config file:

Tip: Using serial numbers (like rtl433-00000433) instead of device indices (like rtl433-1) ensures the correct dongle is always used, even if USB enumeration order changes.