rfparty-monitor icon indicating copy to clipboard operation
rfparty-monitor copied to clipboard

its like a tricorder, for your wireless world.

rfparty-monitor stability-experimental

rfparty is a new way to see BLE

rfparty collage

Components

rfparty-monitor

rfparty.xyz ( code )

Usage

rfparty-monitor is a tool for wireless situational awareness and debugging. It's like a tricorder for your wireless world.

Android

Linux

  • Setup
  • Deploy sensor
  • Retrieve Logs & Convert to GPX
  • Visit rfparty.xyz
  • Select monitor log
  • Select GPS track
  • Click 'load'
  • Party! πŸŽ‰
  • Support

File Paths

  • /data/rfparty/ble
  • /data/rfparty/gps
  • /data/rfparty/wifi
  • /data/rfparty/logs
  • /usr/bin/rfparty-info
  • /usr/bin/rfparty-monitor
  • /etc/systemd/system/rfparty-monitor.service

Installation

  • sudo ./scripts/install.sh

Requirements

  • Ubuntu 20.04 or debian equivalent
    • Packages: build-essential bluetooth bluez bluez-hcidump libbluetooth-dev libudev-dev gpsd gpsd-clients gpsbabel python-gps wireless-tools aircrack-ng libpcap-dev libavahi-compat-libdnssd-dev
    • sudo ./scripts/install-requirements.sh
  • nodejs LTS 18.x or 20.x
  • npm <= 10.3.x
  • USB GPS (optional)
  • Bluetooth dongle
    • CSR 4.x works well
    • Raspi internal works well on Ubuntu 18.04 but not 20.04
  • Wifi dongle supporting promiscuous mode
    • Alfa wifi works well

Alternate GPS Source

Any smart phone or device capable of outputting GPX 1.0 is currently supported.

Follow and Support

Roadmap πŸ—ΊοΈ

  • Support PCAP πŸ’Ύ
    • Hidden Wifi AP
    • Wifi Clients
  • Improved error handling 🚧
  • Improve configuration πŸ› οΈ
  • Database optimization πŸ‘¨πŸΏβ€πŸ’»
    • High endurance deployments
    • Dynamic detail
    • Protocol filter
    • Running Statistics
  • Protocol Improvements πŸ”Œ
    • Bluetooth GATT logging
  • Improve location pipeline πŸ—ΊοΈ
    • Log directly to GPX
    • Record GPX track to db
  • Realtime sharing πŸ“‘
    • Alerts
  • Wireless Intrussion Detection (WIDS) πŸ›‘οΈ
    • Common Wifi threats
    • BLE threats
  • Red teaming πŸ₯·πŸΌ
  • More frequencies, more protocols πŸ‘οΈ
    • LoRa
    • LoRaWAN
    • SDR tuning & capture
  • ... and much more ✨

Troubleshooting

Converting NMEA to GPX

  • cd /data/rfparty/gps
  • gpsbabel -i nmea -f "track.foo.nmea" -o gpx,gpxver=1.1 -F "track-foo.gpx"

Selecting Wifi Interface

In ./src/BLEMonitor.js

Set SCANNING_WIFI_IFACE to your desired wifi scanning interface for home detection.

Promiscuous Wifi Interface

In ./scripts/start-snif.sh change the arodump commands to correctly select your desired promiscuous wifi interface.