Ce qu’on voit. Ce qu’on identifie.
Trois chaînes radio complémentaires — BLE, WiFi, SDR — écoutent l’environnement sans jamais émettre. Elles détectent les appareils présents, en déduisent le type et le fabricant à partir de signatures radio non falsifiables, et signalent les traceurs isolés. Voici, exemples de captures réelles à l’appui, ce que cela donne concrètement.
// couverture radio
| Chaîne | Matériel | Ce qu’elle voit | Bande |
|---|---|---|---|
| BLE natif | Adaptateur Bluetooth du PC | Annonces BLE (advertisements) | 2,4 GHz |
| Dongle nRF52840 | Nordic PCA10059 / Makerdiary MDK + Wireshark | Contenu des connexions BLE (sniff promiscuous) | 2,4 GHz |
| SDR | Nooelec NESDR SMArt v5 (RTL2832U + R820T2) | Énergie RF seule (pas de démodulation) | 25 MHz – 1,75 GHz (sauf 2,4 GHz) |
| WiFi | ESP32-S3 « Walter » | Scan des points d’accès + requêtes de sonde 802.11 | 2,4 GHz |
// identification
L’identification prime par signature radio, pas par nom : un nom d’appareil est falsifiable, un Company ID ou un UUID de service l’est beaucoup moins.
Par Company ID (données constructeur)
0x004C Apple 0x0075 Samsung 0x00E0 Google 0x0006 Microsoft 0x0087 Garmin 0x038F Xiaomi 0x0501 Fitbit 0x0171 Amazon 0x0059 Nordic Semiconductor 0x02E5 Espressif 0x0BA9 Allterco (Shelly) 0xFFFF Plage de TEST, non allouée Par UUID de service (16 bits)
0xfeed / 0xfeec Traceur Tile certain 0xfeaa Balise Eddystone certain 0xfe2c Google Fast Pair (Android) probable 0xfe07 Microsoft Swift Pair (Windows) probable 0xfd5a / 0xfd59 Samsung (Android) probable 0xfd6f Notification d’exposition (mixte) famille 0xfe03 Amazon famille 0xfd44 Apple famille Sous-classement Apple (protocole Continuity)
Les appareils Apple sont décodés message par message — jusqu’à distinguer un AirTag séparé d’un iPhone.
// captures réelles
Balayage BLE (extrait — 37 appareils vus)
| Appareil identifié | Nom annoncé | Type d’adresse | Identifié par | RSSI |
|---|---|---|---|---|
| Samsung Galaxy S24 | "S24 E688 LE" | aléatoire statique | Service 0xfe07 (Swift Pair) | — |
| Téléviseur Samsung | "[TV] Samsung Q7 Series (49)" | publique | Company ID 0x0075 | — |
| Casque Bose | "LE-Bose Nico" | publique | Company ID 0x0501 | −76,8 dBm |
| CPAP médical ResMed | "ResMed 551628" | publique | Service 0xfd56 | — |
| Appareil Apple à proximité | — | privée résolvable | Company ID 0x004C (Continuity) | −61,9 dBm |
Requêtes de sonde WiFi (empreinte 802.11)
[PROBE] MAC: 6A:04:82:9E:F3:2E RSSI: -78 dBm CH: 11 SSID: "Livebox-6DD0" [WiFi5(ac) | MAC-rand] [PROBE] MAC: BE:79:0F:7F:14:54 RSSI: -72 dBm CH: 6 SSID: "(wildcard)" [WiFi5(ac) | Android? | MAC-rand] [PROBE] MAC: B0:05:94:1C:1B:6B RSSI: -86 dBm CH: 6 SSID: "iPhone" [WiFi4(n) | MAC-réelle]
MAC-rand = adresse randomisée (bit local) ·
MAC-réelle = OUI traçable. La génération WiFi (ax/ac/n) et la plateforme
(Android/Apple/Windows) se déduisent des Information Elements de la sonde.
Balayage SDR (préréglage « chasse aux mouchards »)
Niveaux en dB relatifs non étalonnés — jamais des dBm. Le SDR voit de l’énergie, pas du contenu : il oriente une recherche, il ne prononce pas une identité.
// niveau de certitude
4 niveaux de confiance
- certain — signature non ambiguë (Apple Watch, AirPods, AirTag séparé)
- probable — famille sûre, type déduit (téléphone Android via Fast Pair)
- famille — écosystème connu, type indéterminé (« appareil Apple »)
- inconnu — aucun signal exploitable
Traçabilité selon l’adresse BLE
- privée résolvable (RPA) — tournante — protège contre le pistage
- privée non résolvable — tournante — protège contre le pistage
- aléatoire statique — fixe jusqu’au prochain reboot — traçable
- publique — adresse fixe (OUI non répertorié) — traçable
// anti-traceur / anti-filature
Le cas de l’AirTag isolé
Un message Find My a deux sens opposés : forme courte = propriétaire à proximité (banal, aucune alerte) ; forme longue (≈25 octets) = accessoire séparé de son propriétaire — le cas suspect. Seul le second déclenche une alerte.
Confondre les deux avait fait apparaître « 8 AirTag » dans un bureau vide qui n’en contenait aucun. La distinction est désormais verrouillée par test.
Bandes surveillées au SDR
- ISM 433 MHzTraceurs bon marché, balises de suivi, télécommandes de déclenchement.
- ISM 868 MHzTraceurs LoRa et Sigfox — l’essentiel des balises discrètes en Europe passe par ici.
- GSM 900 uplink (880–915 MHz)Un micro-espion GSM trahit ses transmissions ici.
- GNSS L1 (1559–1610 MHz)Les brouilleurs GPS de poche (masquage de traceur véhicule) émettent exactement là.
Les téléphones changent d’adresse BLE toutes les ~15 minutes : un même iPhone serait sinon compté 4 fois par heure. On ne relie deux adresses que sur preuve (continuité d’un compteur Handoff, égalité d’un tag Nearby Info) — jamais par le RSSI.
// présence & zones
Un récepteur unique ne localise pas. Le RSSI donne une distance à ce point, pas une position. Pour affirmer qu’un appareil s’est approché de la machine B, il faut un récepteur à la machine B — un Cube par zone.
Le système apprend le fond radio du lieu : un appareil qui part pendant qu’un autre arrive, à effectif constant, est journalisé sans alerte. On alerte sur un effectif au-dessus de la ligne de base, un traceur séparé, ou une transition de zone interdite.
Confidentialité par conception : pseudonymes dérivés d’une clé aléatoire régénérée à chaque démarrage et jamais persistée ; le journal ne contient que catégories, compteurs et zones — aucune adresse, aucun identifiant — avec purge de rétention.
// ce qu’on ne voit pas (et on le dit)
Voir le banc en fonctionnement
Détection passive, identification à la source, souveraineté des données. Demandez une démonstration ou la documentation technique.
Nous contacter →