GNU-RADIO
1. Introduction
Je vais essayer d'ĂȘtre le plus clair possible sur le fonctionnement du protocole GNU-RADIO.
Une transmission radio permet dâenvoyer et de recevoir des informations dâun point A vers un point B Ă distance. Ce sont les ondes Ă©lectromagnĂ©tiques qui vont permettre cette communication. Nous sommes donc en prĂ©sence de deux appareils technologiques appelĂ©s Ă©metteur/rĂ©cepteur radio.
Voila un petit schéma pour illustrer la chose :
Voila à quoi ressemble en théorie une onde électromagnétique (c'est une onde sinusoïdale) :
Signal sinusoĂŻdal
Ne vous inquiétez pas je ne vous ramÚne pas dans vos cours à dormir debout de lycée ou de mathSUP/mathSPE.
Pour arriver Ă transmettre des informations, il est nĂ©cessaire de modifier quelque chose Ă cette onde afin de diffĂ©rencier lâenvoi dâune valeur dâune autre. Dans le cas le plus trivial le « 0 » et le « 1 » logique. En analysant un signal sinusoĂŻdal, on peut constater quâil est caractĂ©risĂ© par son amplitude, sa frĂ©quence et sa phase. Dâun point de vue mathĂ©matique :
Ăquation dâun signal sinusoĂŻdal
On peut donc modifier son amplitude, sa frĂ©quence, sa phase ou mĂȘme combiner deux paramĂštres en fonction des donnĂ©es numĂ©riques Ă transmettre. On dit que lâon module le signal. Câest en fait la cĂ©lĂšbre fonction « modulation » dont on entend parler pour toutes les communications radio.
Dans notre exemple, on peut imaginer une modulation trĂšs simple :
on transmet un 0 logique => A = 0, amplitude nulle
on transmet un 1 logique => A = 1, amplitude maxi
On obtient ainsi une modulation appelĂ©e ASK (Amplitude Shift Keying, modulation par sauts dâamplitude) et mĂȘme plus exactement dans notre cas OO-ASK (On Off ASK), car on module en tout ou rien.
Modulation OO-ASK
Cette technologie est trĂšs facile Ă mettre en Ćuvre, mais prĂ©sente quelques inconvĂ©nients comme la fiabilitĂ©, la vitesse et la portĂ©e.
LâĂ©coute et le piratage sont trĂšs simples et rapides puisquâil nây a aucune difficultĂ© structurelle dans le matĂ©riel utilisĂ©.
Le dĂ©bit binaire est faible puisquâon ne transmet quâun bit Ă la fois.
La distance entre lâĂ©metteur et le rĂ©cepteur est modeste puisque lâon est limitĂ© en puissance dâĂ©mission et quâaucune technique dâĂ©talement de spectre nâest utilisĂ©e ici.
La modulation ASK est encore utilisĂ©e dans beaucoup de communications oĂč la sĂ©curitĂ© au niveau de la liaison physique nâest pas vraiment la prioritĂ©.
2. GNU-RADIO
Des outils tout faits sont disponibles et compatibles avec les Ă©metteurs-rĂ©cepteurs numĂ©riques. Ils sont dĂ©veloppĂ©s avec ou en parallĂšle dâun projet trĂšs important appelĂ© GNU-RADIO disponible sous LINUX.
Ce projet propose la gestion du matériel et les bibliothÚques de traitement du flux radios.
2.1 Installation
Depuis les depots :
sudo apt install gnuradio
Depuis github
https://github.com/gnuradio/gnuradio
Depuis un script
Script dâinstallation build-gnuradio disponible Ă lâadresse http://www.sbrac.org/files/build-gnuradio. Quand tout se dĂ©roule sans problĂšme, ce script installe tous les outils nĂ©cessaires.
Voici une liste de tutoriels pour prendre en mains les différents modules : https://wiki.gnuradio.org/index.php/Tutorials
Parmi les applications intéressantes, on trouve :
les outils RTL-SDR développés pour les clés récepteur DVB-T.
Lâoutil rtl_fm permet entre autre dâĂ©couter une station radio FM, ou bien encore rtl_sdr qui, lui, permet dâenregistrer les signaux I/Q dans un fichier afin dâĂȘtre analysĂ©s ultĂ©rieurement ou rejouĂ©s tels quels.
On va s'interesser ici Ă gnuradio-companion qui est un environnement de dĂ©veloppement graphique dans lequel vous pouvez assembler des blocs . Il construit ensuite un script Python utilisant les modules liĂ©s aux librairies GNU-RADIO compilĂ©es. LâintĂ©rĂȘt de gnuradio-companion est de pouvoir assez facilement adapter le traitement Ă vos besoins. On lance gnuradio-companion :
Prenons un exemple pour illustrer la chose :
Nous disposons dâune tĂ©lĂ©commande et lâobjectif est de trouver le code Ă©mis pour Ă©ventuellement crĂ©er une tĂ©lĂ©commande copie. Pour faire cette simple opĂ©ration, il existe des solutions logicielles comme lâapplication hackrf_transfer qui enregistre les signaux sur une frĂ©quence et les rejoue Ă destination des rĂ©cepteurs. Il existe aussi des « clĂŽneurs » sous forme de petits circuits Ă©lectroniques qui rĂ©alisent plus ou moins bien cette opĂ©ration. Vous pouvez aussi utiliser gnuradio-companion pour crĂ©er un diagramme qui met en Ă©vidence les code de la tĂ©lĂ©commande.
Pret Ă hacker votre premier objet ?
On note deux chose :
Rapport cyclique < 10%
Fz : 433.92 MHz
Tout dâabord, vĂ©rifions la frĂ©quence avec osmocom_fft :

La premiĂšre pointe au centre est celle du HackRF, celle Ă droite est la transmission de la tĂ©lĂ©commande. On voit bien que la frĂ©quence est de 433,945 MHz. La forme de la pointe nous indique que câest probablement de la modulation dâamplitude.
Je vous laisse maintenant chercher comment créer un diagramme pour cette télécommande avec gnuradio-companion et trouver que la télécommande en question utilise le protocole HomeEasy spécialisé dans les objets domotiques.
3. Le matériel disponible
La rĂ©alisation de la partie Ă©lectronique peut ĂȘtre une opĂ©ration envisageable, mais serait hors sujet. Il existe suffisamment de matĂ©riels disponibles, aux performances et aux prix variĂ©s, pour Ă©viter lâĂ©tape de la fabrication. Une liste non exhaustive des plus utilisĂ©s est prĂ©sentĂ©e ci-aprĂšs.
3.1 La clé RTL-SDR
Ce rĂ©cepteur DVB-T est un « dongle » au prix est trĂšs abordable, 10 Ă 30 euros. Ses caractĂ©ristiques permettent dĂ©jĂ quelques manipulations. Son gros dĂ©faut est quâil ne permet pas dâĂ©mission.
Clé RTL SDR
Ses principales caractéristiques :
Bande de fréquence : 30 - 1700 MHz
Ăchantillonnage : 2 MHz
GrĂące Ă ces paramĂštres, ce circuit permet lâĂ©coute et le dĂ©codage de beaucoup de communications comme les radios AM/FM, les tĂ©lĂ©commandes 433Mhs 868MHz ou d'autres objets se trouvant dans la mĂȘme bande de frĂ©quence.
Cependant, sa limite en frĂ©quence (environ 1,7-2,0 GHz) ne permet pas dâatteindre la bande ISM (Industrielle Scientifique et MĂ©dicale) des 2,4 GHz oĂč beaucoup de communications se trouvent comme le Wi-Fi, le Bluetooth, NRF24, le ZigBee, etc.
3.2 Le HackRF One
LâintĂ©rĂȘt du HackRF par rapport au dongle SDR est quâil permet dâĂ©mettre. Il permet dâĂ©couter ou dâĂ©mettre des communications dans pratiquement toutes les bandes ISM classiques. Son prix est compris entre 300 et 400 euros. Un peu cher c'est vrai mais c'est un investissement indispensable si vous comptez devenir expert en radio !
Le HackRF One
Ses caractéristiques :
half-duplex transceiver (transmetteur half-duplex)
operating frequency : 10 MHz to 6 GHz (plage de fréquence de travail)
supported sample rates : 2 Msps to 20 Msps (quadrature) (frĂ©quences dâĂ©chantillonnage)
resolution : 8 bits
interface : High Speed USB (with USB Micro-B connector)
power supply : USB bus power
Le hackRF est un transmetteur HALF-DUPLEX (Ă©mission ou rĂ©ception, mais pas les deux en mĂȘme temps), ce qui est un inconvĂ©nient pour certaines applications comme lâintĂ©gration dans un rĂ©seau ou la mise en place dâun Man in The Middle. Et oui il va falloir trouver un autre moyen !
Un autre inconvénient du HackRF c'est sa portée... Parfait pour des test locaux mais dÚs qu'il s'agit de communications éloignées il faudra penser à utiliser autre chose.
3.3 Le bladeRF (une alternative un peu plus haut de gamme)
Le bladeRF en FULL-DUPLEX (Ă©mission ou rĂ©ception ou les deux en mĂȘme temps) sur une largeur de canal de 28 MHz. Il est un peu plus cher que son concurrent hackRF, 400 Ă 500 euros.
Le bladeRF de chez NUAND
3.4 Le PandwaRF
Sa plage de frĂ©quence nâest pas trĂšs Ă©tendue (infĂ©rieure Ă 1 GHz) et prĂ©sente des zones mortes (frĂ©quences non gĂ©rĂ©es). Le PandwaRF est toutefois Ă©metteur et rĂ©cepteur dans les frĂ©quences les plus utilisĂ©es, 315/433/868/915 MHz pour les modulations ASK/OOK/MSK/2-FSK/GFSK. Lâutilisateur ne peut pas configurer le traitement numĂ©rique des signaux reçus ou Ă©mis, mais dispose dâapplications sous Linux ou smartphone, connectĂ©es en USB ou Bluetooth LE, permettant de recevoir, enregistrer et renvoyer des communications radio numĂ©riques avec ou sans modifications.
Il permet de pirater trÚs facilement toutes les télécommandes de base. Environ 200 euros.

3.5 LâUSRP
Cet émetteur-récepteur numérique est le best de sa catégorie. Mais... c''est cher... entre 1000 à 5000 euros suivant les versions.
LâUSRP est composĂ© dâune base regroupant les interfaces numĂ©riques (USB, EthernetâŠ). On doit ajouter Ă cette base (coĂ»t supplĂ©mentaire) des modules radio frĂ©quence. L'USRP est un peu comme une voiture, vous pouvez lui ajouter des options, choisir sa version en fonction de vos besoin.
Pour recevoir et émettre dans une large bande on doit lui ajouter un circuit RF type :
RX/TX WBX 20 - 2200 MHz
Last updated
Was this helpful?