Étape 5: Utilisation gr-gsm
Utilisation gr-gsm
Il y a de nombreuses applications possibles du gr-gsm. En ce moment, il y a une application qui est prête out of the box. Il s’agit d’un remplacement amélioré de l’ancien Airprobe - le programme qui vous permet de recevoir et décoder les messages de contrôle GSM de plage horaire 0 sur la chaîne de télévision d’un BTS. Après l’installation du gr-gsm, il y a trois fichiers exécutables de python qui seront installés :
airprobe_rtlsdr.py,
airprobe_rtlsdr_capture.py,
airprobe_decode.py,
Airprobe avec la participation de RTL-SDR
Ce programme utilise des récepteurs bon marchés de RTL-DTS comme source du signal. Il peut être démarré en exécutant depuis un terminal :
airprobe_rtlsdr.py
La fenêtre du programme contienne le spectre d’amplitude du signal dessiné en temps réel. La fréquence centrale du signal peut être modifiée par déplacement curseur fc. Le signal GSM dispose de près de 200kHz. En recherchant des collines constants sur le spectre de cette largeur, vous pouvez trouver un canal de diffusion de GSM. Après avoir réglé le curseur fc à une fréquence de porteuse d’un canal de diffusion du programme devrait immédiatement imprimer le contenu des messages suivants sur la sortie standard.
Si cela n’arrive pas, réglez le curseur de le ppm dans différentes positions. Le curseur est chargé de définir les dispositifs horloge correction de décalage. L’algorithme de correction de décalage d’horloge qui est mis en place dans le programme ne fonctionnera pas si le décalage de l’horloge est trop grand. Il y est ajouté intentionnellement supérieur du décalage de l’horloge admissibles - cela a été fait afin d’éviter l’adaptation de l’algorithme pour voisin des canaux qui conduisent inévitablement à l’instabilité. Vous pouvez utiliser la valeur définie par la suite en lui passant comme argument du programme :
airprobe_rtlsdr.py -p
Capture et d’enregistrement avec RTL-SDR
Ce programme offre la possibilité d’enregistrer les données saisies dans fichier. Il prend en charge les données brutes en format cfile et gr-gsm de burst format, qui sont prétraitées GSM-salves au lieu de données signal brut :
airprobe_rtlsdr_capture.py
Nous allons ajouter plus d’informations sur la capture à l’aide de ce programme plus tard, pour plus d’informations sur les options disponibles, vous pouvez démarrer le programme avec l’indicateur -h :
airprobe_rtlsdr_capture.py -h
Décodage de la airprobe
Ce programme offre la capacité de décoder les GSM les messages provenant de sauvé les captures, par exemple enregistré avec airprobe_rtlsdr_capture.py :
airprobe_decode.py
Le programme prend en charge les deux cfile rafale capture et décodage de BCCH, SDCCH, TCH/F. A5 de prise en charge le chiffrement pour le déchiffrement sont A5/1 et A5/2, A5/3. airprobe_decode.py est capable de décoder les taux plein voix codecs GSM-FR, GSM-EFR, 12.2 AMR, AMR 10,2, AMR 7,95, AMR 7.4, AMR 6,7, AMR 5,9, 5.15 AMR, AMR 4,75.
Pour plus d’informations sur les options disponibles, vous pouvez démarrer le programme avec l’indicateur -h :
airprobe_decode.py -h
On trouvera une plus détaillée comment sur l’utilisation de airprobe_decode.py dans le décodage How To
Analyser les messages GSM dans le Wireshark
L’application Airprobe (fichier, rtlsdr) envoie des messages GSM au format GSMTAP qui a été créé par Harald Welte, au numéro de port UDP 4729. Wireshark interprète paquets entrant sur ce port en tant que données GSM avec en-tête GSMTAP et il est capable de décortiquer les messages.
Sur Debian, comme les systèmes Wireshark peuvent être installés avec :
sudo apt-get install wireshark
Pour lancer Wireshark directement à l’analyse des paquets GSMTAP obtenus par l’utilisation d’airprobe de gr-gsm commande suivante :
sudo wireshark -k -f udp -Y gsmtap -i lo
Si vous voulez éviter les risques causés par une utilisation Wireshark avec les privilèges root suivez ce howto court :
https://Ask.wireshark.org/questions/7976/Wireshark...
Décodage des chaînes récurrentes
Décodage des canaux de saut est possible en alimentant un flux d’entrée par canal récurrente dans le bloc récepteur GSM et en connectant le port CX à un bloc de trémie de canal de CX. Toutefois, au stade actuel de développement il est coûteuse en termes de scinder une capture de la large bande en plusieurs flux de données en temps réel. Par conséquent, l’application de gsm_channelize.py devrait servir pour effectuer cette tâche comme une étape de prétraitement.
À titre d’exemple, la commande suivante va multiplexer my_wideband_capture.cfile, dans ce cas un cfile capturé à 925,2 MHz centrée (ARFCN 975) et 20 projets de moyenne envergure. Ainsi, 12 fichiers seront générés pour ARFCNs 975 - 1023 à 1 MSP chaque :
gsm_channelize.py -f my_wideband_capture.cfile - c 925.2e6 990 991 992 993 994 995 1019 1020