Files
intercept/README.md
2025-12-22 15:35:24 +00:00

17 KiB

INTERCEPT

Python 3.7+ MIT License Platform Author

Signal Intelligence Platform

A sleek, modern web-based front-end for signal intelligence tools.
Unified interface for pager decoding, 433MHz sensors, ADS-B aircraft tracking, satellite monitoring, WiFi reconnaissance, and Bluetooth scanning.

Screenshot


What is INTERCEPT?

INTERCEPT is a web-based front-end that provides a unified, modern interface for signal intelligence tools:

  • rtl_fm + multimon-ng - For decoding POCSAG and FLEX pager signals
  • rtl_433 - For decoding 433MHz ISM band devices (weather stations, sensors, etc.)
  • dump1090 / rtl_adsb - For ADS-B aircraft tracking with real-time map visualization
  • Satellite tracking - Pass prediction and Iridium burst detection using TLE data
  • aircrack-ng - For WiFi reconnaissance and network analysis
  • hcitool / bluetoothctl - For Bluetooth device scanning and tracking

Instead of running command-line tools manually, INTERCEPT handles the process management, output parsing, and presents decoded data in a clean, real-time web interface.


Features

📟 Pager Decoding

  • Real-time decoding of POCSAG (512/1200/2400) and FLEX protocols
  • Customizable frequency presets stored in browser
  • Auto-restart on frequency change while decoding

📡 433MHz Sensor Decoding

  • 200+ device protocols supported via rtl_433
  • Weather stations - temperature, humidity, wind, rain
  • TPMS - Tire pressure monitoring sensors
  • Doorbells, remotes, and IoT devices
  • Smart meters and utility monitors

✈️ ADS-B Aircraft Tracking

  • Real-time aircraft tracking via dump1090 or rtl_adsb
  • Interactive Leaflet map with OpenStreetMap tiles
  • Dark-themed map matching application aesthetic
  • Aircraft details - callsign, altitude, speed, heading, squawk
  • Click aircraft markers for detailed popup information
  • Auto-fit view to show all tracked aircraft
  • Emergency aircraft highlighting in red

🛰️ Satellite Tracking

  • Pass prediction for satellites using TLE data
  • Add satellites via manual TLE entry or Celestrak import
  • Celestrak integration - fetch satellites by category (Amateur, Weather, ISS, Starlink, etc.)
  • Iridium burst detection monitoring
  • Next pass countdown with elevation and duration
  • Multiple satellite tracking simultaneously

📶 WiFi Reconnaissance

  • Monitor mode management via airmon-ng
  • Network scanning with airodump-ng
  • Channel hopping or fixed channel monitoring
  • Deauthentication attacks for authorized testing
  • Handshake capture with real-time status and auto-detection
  • Channel utilization visualization (2.4GHz and 5GHz)
  • Security overview chart (WPA3/WPA2/WEP/Open)
  • Real-time radar display of nearby networks
  • Client vendor lookup via OUI database
  • Proximity alerts - watch list for specific MAC addresses

🚁 Drone Detection

  • Automatic detection of drones via SSID patterns and manufacturer OUI
  • Supported brands: DJI, Parrot, Autel, Skydio, Holy Stone, and many more
  • Distance estimation from signal strength
  • Visual alerts with triple audio notification
  • Clickable drone counter - view all detected drones with details

⚠️ Rogue AP Detection

  • Automatic detection of same SSID on multiple BSSIDs
  • Clickable counter - view which SSIDs triggered alerts
  • Detailed popup showing all BSSIDs, channels, and signal strength

📈 Signal History Graph

  • Real-time line chart showing signal strength over time
  • Track any device - click the 📈 button on any network
  • Visual movement detection - see devices approaching or departing

🕸️ Network Topology Graph

  • Visual map of all access points and connected clients
  • Color-coded nodes - cyan for APs, green for clients, orange for drones
  • Auto-updating as new devices are discovered

💡 Channel Recommendation

  • Automatic analysis of channel congestion
  • Recommends optimal channels for both 2.4GHz and 5GHz
  • Considers channel overlap for accurate 2.4GHz recommendations

👁️ Hidden SSID Revealer

  • Captures hidden SSIDs from probe requests
  • Displays revealed networks with BSSID mapping
  • Desktop notifications when new hidden SSIDs are revealed

🔗 Device Correlation

  • Matches WiFi and Bluetooth devices with same manufacturer
  • OUI-based correlation to identify multi-radio devices
  • Useful for tracking devices across protocols

📡 Client Probe Analysis

  • Track client probe requests - see what networks devices are looking for
  • Privacy leak detection - highlights sensitive network names (home, office, hotel, airport)
  • Vendor identification - shows device manufacturer
  • Sorted by exposure - most revealing clients shown first
  • Unique SSID counter - total unique networks being probed

🔵 Bluetooth Scanning

  • BLE and Classic Bluetooth device scanning
  • Multiple scan modes - hcitool, bluetoothctl
  • Tracker detection - AirTag, Tile, Samsung SmartTag, Chipolo
  • Device classification - phones, audio, wearables, computers
  • Manufacturer lookup via OUI database
  • Proximity radar visualization
  • Device type breakdown chart

🔔 Browser Notifications

  • Desktop notifications for critical events (even when tab is in background)
  • Alerts for: Drone detection, Rogue APs, Handshake capture, Hidden SSID reveals
  • Permission requested on first interaction

Help System

  • Built-in help page accessible via ? button in header
  • Icon legend for all stats bar icons
  • Mode-by-mode guides with tips and instructions
  • Keyboard shortcut: Press Escape to close

🎨 User Interface

  • Collapsible sections - click any header to collapse/expand
  • Icon-based stats bar with tooltips
  • Tabbed mode selector with icons (grouped by SDR/RF and Wireless)
  • Compact, modern design with consistent styling
  • Dark/Light theme toggle - click moon/sun icon in header, preference saved
  • Keyboard shortcuts - F1 or ? to open help

⌨️ Keyboard Shortcuts

Key Action
F1 Open help
? Open help (when not typing)
Escape Close help/modals

General

  • Web-based interface - no desktop app needed
  • Live message streaming via Server-Sent Events (SSE)
  • Audio alerts with mute toggle
  • Message export to CSV/JSON
  • Signal activity meter and waterfall display
  • Message logging to file with timestamps
  • RTL-SDR device detection and selection
  • Configurable gain and PPM correction
  • Device intelligence dashboard with tracking
  • Disclaimer acceptance on first use
  • Auto-stop when switching between modes

Stats Bar Icons

Icon Meaning
📟 POCSAG messages decoded
📠 FLEX messages decoded
📨 Total messages received
🌡️ Unique sensors detected
📊 Device types found
✈️ Aircraft being tracked
🛰️ Satellites being monitored
📡 WiFi Access Points
👤 Connected WiFi clients
🤝 Captured handshakes
🚁 Detected drones (click for details)
⚠️ Rogue APs (click for details)
🔵 Bluetooth devices
📍 BLE beacons detected

Requirements

Hardware

  • RTL-SDR compatible dongle (RTL2832U based)
  • WiFi adapter capable of monitor mode (for WiFi features)
  • Bluetooth adapter (for Bluetooth features)

Software

  • Python 3.7+
  • Flask
  • requests (for Celestrak API)
  • rtl-sdr tools (rtl_fm)
  • multimon-ng (for pager decoding)
  • rtl_433 (for 433MHz sensor decoding)
  • dump1090 or rtl_adsb (for ADS-B aircraft tracking)
  • aircrack-ng (for WiFi reconnaissance)
  • BlueZ tools - hcitool, bluetoothctl (for Bluetooth)

Installation

1. Install RTL-SDR tools

macOS (Homebrew):

brew install rtl-sdr

Ubuntu/Debian:

sudo apt-get install rtl-sdr

Arch Linux:

sudo pacman -S rtl-sdr

2. Install multimon-ng

macOS (Homebrew):

brew install multimon-ng

Ubuntu/Debian:

sudo apt-get install multimon-ng

From source:

git clone https://github.com/EliasOenal/multimon-ng.git
cd multimon-ng
mkdir build && cd build
cmake ..
make
sudo make install

3. Install rtl_433 (optional, for 433MHz sensors)

macOS (Homebrew):

brew install rtl_433

Ubuntu/Debian:

sudo apt-get install rtl-433

From source:

git clone https://github.com/merbanan/rtl_433.git
cd rtl_433
mkdir build && cd build
cmake ..
make
sudo make install

4. Install aircrack-ng (optional, for WiFi)

macOS (Homebrew):

brew install aircrack-ng

Ubuntu/Debian:

sudo apt-get install aircrack-ng

5. Install dump1090 (optional, for ADS-B aircraft tracking)

macOS (Homebrew):

brew install dump1090-mutability

Ubuntu/Debian:

sudo apt-get install dump1090-mutability

From source:

git clone https://github.com/flightaware/dump1090.git
cd dump1090
make
sudo cp dump1090 /usr/local/bin/

6. Install Bluetooth tools (optional)

Ubuntu/Debian:

sudo apt-get install bluez bluetooth

macOS: Bluetooth tools are built-in, though with limited functionality compared to Linux.

7. Install Python dependencies

pip install -r requirements.txt

8. Clone and run

git clone https://github.com/smittix/intercept.git
cd intercept
sudo python3 intercept.py

Open your browser to http://localhost:5050

Note: Running as root/sudo is recommended for full functionality (monitor mode, raw sockets, etc.)


Usage

Pager Mode

  1. Select Device - Choose your RTL-SDR device from the dropdown
  2. Set Frequency - Enter a frequency in MHz or use a preset
  3. Choose Protocols - Select which protocols to decode (POCSAG/FLEX)
  4. Adjust Settings - Set gain, squelch, and PPM correction as needed
  5. Start Decoding - Click the green "Start Decoding" button

WiFi Mode

  1. Select Interface - Choose a WiFi adapter capable of monitor mode
  2. Enable Monitor Mode - Click "Enable Monitor" (uncheck "Kill processes" to preserve other connections)
  3. Start Scanning - Click "Start Scanning" to begin
  4. View Networks - Networks appear in the output panel with signal strength
  5. Track Devices - Click 📈 on any network to track its signal over time
  6. Capture Handshakes - Click "Capture" on a network to start handshake capture

Bluetooth Mode

  1. Select Interface - Choose your Bluetooth adapter
  2. Choose Mode - Select scan mode (hcitool, bluetoothctl)
  3. Start Scanning - Click "Start Scanning"
  4. View Devices - Devices appear with name, address, and classification

Aircraft Mode

  1. Check Tools - Ensure dump1090 or rtl_adsb is installed
  2. Start Tracking - Click "Start Tracking" to begin ADS-B reception
  3. View Map - Aircraft appear on the interactive Leaflet map
  4. Click Aircraft - Click markers for detailed information (altitude, speed, heading)
  5. Toggle Labels - Use checkboxes to show/hide callsigns and flight levels

Satellite Mode

  1. Add Satellites - Click "Add Satellite" to enter TLE data manually, or use "Celestrak" to fetch by category
  2. Select Category - Choose from Amateur, Weather, ISS, Starlink, GPS, etc.
  3. View Passes - Next pass predictions shown with elevation and duration
  4. Track Multiple - Add multiple satellites to track simultaneously
  5. Iridium Bursts - Monitor for Iridium satellite burst transmissions

Frequency Presets

  • Click a preset button to quickly set a frequency
  • Add custom presets using the input field and "Add" button
  • Right-click a preset to remove it
  • Click "Reset to Defaults" to restore default frequencies

API Endpoints

Pager & Sensor

Endpoint Method Description
/ GET Main web interface
/devices GET List RTL-SDR devices
/start POST Start pager decoding
/stop POST Stop pager decoding
/start_sensor POST Start 433MHz sensor listening
/stop_sensor POST Stop 433MHz sensor listening
/status GET Get decoder status
/stream GET SSE stream for pager messages
/stream_sensor GET SSE stream for sensor data

WiFi

Endpoint Method Description
/wifi/interfaces GET List WiFi interfaces and tools
/wifi/monitor POST Enable/disable monitor mode
/wifi/scan/start POST Start WiFi scanning
/wifi/scan/stop POST Stop WiFi scanning
/wifi/deauth POST Send deauthentication packets
/wifi/handshake/capture POST Start handshake capture
/wifi/handshake/status POST Check handshake capture status
/wifi/networks GET Get discovered networks
/wifi/stream GET SSE stream for WiFi events

Bluetooth

Endpoint Method Description
/bt/interfaces GET List Bluetooth interfaces and tools
/bt/scan/start POST Start Bluetooth scanning
/bt/scan/stop POST Stop Bluetooth scanning
/bt/enum POST Enumerate device services
/bt/devices GET Get discovered devices
/bt/stream GET SSE stream for Bluetooth events

Aircraft (ADS-B)

Endpoint Method Description
/adsb/start POST Start ADS-B tracking
/adsb/stop POST Stop ADS-B tracking
/adsb/aircraft GET Get tracked aircraft
/adsb/stream GET SSE stream for aircraft data
/adsb/tools GET Check ADS-B tool availability

Satellite

Endpoint Method Description
/satellite/add POST Add satellite with TLE data
/satellite/remove POST Remove satellite from tracking
/satellite/list GET Get tracked satellites
/satellite/passes GET Get pass predictions
/satellite/celestrak/<category> GET Fetch satellites from Celestrak

Troubleshooting

No devices found

  • Ensure your RTL-SDR is plugged in
  • Check rtl_test works from command line
  • On Linux, you may need to blacklist the DVB-T driver

No messages appearing

  • Verify the frequency is correct for your area
  • Adjust the gain (try 30-40 dB)
  • Check that pager services are active in your area
  • Ensure antenna is connected

WiFi monitor mode fails

  • Ensure you're running as root/sudo
  • Check your adapter supports monitor mode: iw list | grep monitor
  • Try: airmon-ng check kill to stop interfering processes

Device busy error

  • Click "Kill All Processes" to stop any stale processes
  • Unplug and replug the RTL-SDR device

License

MIT License - see LICENSE for details.

Author

Created by smittix - GitHub

Acknowledgments


⚠️ Disclaimer

This software is for educational purposes only and intended for use by cybersecurity professionals in controlled environments.

By using INTERCEPT, you acknowledge that:

  • You will only use this tool with proper authorization
  • Intercepting communications without consent may be illegal in your jurisdiction
  • WiFi deauthentication and Bluetooth attacks should only be performed on networks/devices you own or have explicit permission to test
  • You are solely responsible for ensuring compliance with all applicable laws and regulations
  • The developers assume no liability for misuse of this software

A disclaimer must be accepted when first launching the application.