← retour aux outils back to tools

# Blue Hydra

Démon de découverte d'appareils Bluetooth et BLE qui scanne et suit en continu les appareils proches, classiques et low-energy. Bluetooth and BLE device discovery daemon that continuously scans for and tracks nearby devices, classic and low-energy.

↗ https://github.com/pwnieexpress/blue_hydra

## Overview

Blue Hydra is a Ruby-based Bluetooth device discovery service built on top of `bluez`, `ubertooth` tooling, and BlueZ’s `hcitool`/`hcidump`. It runs continuously in the background, detecting both classic Bluetooth and BLE devices, logging metadata (name, address, vendor, RSSI, first/last seen) into a local SQLite database — useful for physical/wireless recon and building an inventory of Bluetooth devices in range over time.

## Common Usage

Run interactively (curses UI showing live device discovery)

    sudo blue_hydra

Run as a daemon in the background

    sudo blue_hydra -d

Query the local device database after a scan session

    sqlite3 blue_hydra.db "SELECT address, name, vendor, last_seen FROM blue_hydra_devices;"

## Typical Workflow

Step 1: Start a scan session and leave it running during a site visit

    sudo blue_hydra

Step 2 (from another terminal): tail discovered devices live

    tail -f blue_hydra.log

Step 3: Export results for reporting

    sqlite3 -header -csv blue_hydra.db "SELECT * FROM blue_hydra_devices;" > devices.csv

## Tips

- Works with a plain onboard/USB Bluetooth adapter for BLE; classic Bluetooth device-name resolution benefits from an Ubertooth One if available
- Good for a long-running “site survey” during a physical assessment — leave it scanning for the duration of an on-site visit
- Combine with `bluelog` for a lighter-weight classic-only survey when BLE tracking isn’t needed

Help / Man page

    Usage: blue_hydra [options]

    Options:
      -d, --daemonize     Run as a background daemon (no curses UI)
      -q, --quiet         Suppress UI, log only
      -k, --kill          Kill any running blue_hydra process
      -c, --config FILE   Use alternate config file
      -h, --help          Show this help

    Data is stored in blue_hydra.db (SQLite) in the working directory.
    Fields: address, uuid, name, vendor, le_features, classic_features,
            company, first_seen, last_seen, strongest_rssi

## Vue d’ensemble

Blue Hydra est un service de découverte d’appareils Bluetooth écrit en Ruby, bâti par-dessus `bluez`, l’outillage `ubertooth`, et les `hcitool`/`hcidump` de BlueZ. Il tourne en continu en arrière-plan, détecte à la fois le Bluetooth classique et le BLE, et journalise les métadonnées (nom, adresse, constructeur, RSSI, première/dernière détection) dans une base SQLite locale : utile pour la recon physique/sans-fil et pour constituer, dans le temps, un inventaire des appareils Bluetooth à portée.

## Utilisation courante

    # Lancer en interactif (UI curses montrant la découverte d'appareils en direct)
    sudo blue_hydra

    # Lancer comme démon en arrière-plan
    sudo blue_hydra -d

    # Interroger la base d'appareils locale après une session de scan
    sqlite3 blue_hydra.db "SELECT address, name, vendor, last_seen FROM blue_hydra_devices;"

## Workflow typique

    # Étape 1 : démarrer une session de scan et la laisser tourner pendant une visite de site
    sudo blue_hydra

    # Étape 2 (depuis un autre terminal) : suivre les appareils découverts en direct
    tail -f blue_hydra.log

    # Étape 3 : exporter les résultats pour le rapport
    sqlite3 -header -csv blue_hydra.db "SELECT * FROM blue_hydra_devices;" > devices.csv

## Conseils

- Fonctionne avec un simple adaptateur Bluetooth intégré ou USB pour le BLE ; la résolution des noms d’appareils Bluetooth classiques bénéficie d’un Ubertooth One si disponible
- Idéal pour un “site survey” de longue durée pendant une évaluation physique : laissez-le scanner pour toute la durée d’une visite sur site
- Combinez avec `bluelog` pour un relevé plus léger, uniquement classique, quand le suivi BLE n’est pas nécessaire

Aide / Page de manuel

    Usage: blue_hydra [options]

    Options:
      -d, --daemonize     Run as a background daemon (no curses UI)
      -q, --quiet         Suppress UI, log only
      -k, --kill          Kill any running blue_hydra process
      -c, --config FILE   Use alternate config file
      -h, --help          Show this help

    Data is stored in blue_hydra.db (SQLite) in the working directory.
    Fields: address, uuid, name, vendor, le_features, classic_features,
            company, first_seen, last_seen, strongest_rssi