Stap 5: Gebruik gr-gsm
Gebruik gr-gsm
Er zijn vele mogelijke toepassingen voor gr-gsm. Op dit moment is er een applicatie die is klaar uit de doos. Het is een verbeterde vervanging van de oude Airprobe - het programma dat u kunt ontvangen en decoderen GSM besturingsberichten van tijdslot 0 op de omroep van een BTS. Er zijn drie python uitvoerbare bestanden die worden geïnstalleerd na de installatie van gr-gsm:
airprobe_rtlsdr.py,
airprobe_rtlsdr_capture.py,
airprobe_decode.py,
Airprobe met RTL-SDR-ingang
Dit programma maakt gebruik van goedkope RTL-SDR-ontvangers als een bron van het signaal. Het kan gestart worden door te voeren vanaf een terminal:
airprobe_rtlsdr.py
Het venster van het programma bevat spectrum van de amplitude van het signaal getrokken in real-time. De centrale frequentie van het signaal kan worden gewijzigd door bewegende fc schuifregelaar. Het GSM-signaal heeft een bandbreedte van ongeveer 200kHz. Door op zoek naar constante heuvels op het spectrum van dergelijke breedte kunt u een GSM-omroep. Na het instellen van de fc-schuifregelaar op een frequentie van de drager van een omroep moet het programma onmiddellijk inhoud van de latere berichten afdrukken op de standaard uitvoer.
Als het niet gebeurt, stel pag/min schuifregelaar in verschillende posities. De schuifregelaar is verantwoordelijk voor het instellen van apparaten klok offset correctie. Als de verschuiving van de klok te groot is wordt de klok offset correctie algoritme dat is geïmplementeerd in het programma niet werken. Er wordt opzettelijk toegevoegd bovenste van de verschuiving van de toegestane klok - het werd gedaan om te voorkomen dat de aanpassing van het algoritme aan buurland kanalen die onvermijdelijk tot instabiliteit leiden zou. U kunt de waarde later instellen door deze als argument van het programma:
airprobe_rtlsdr.py -p
Vastleggen en opslaan met RTL-SDR
Dit programma biedt de mogelijkheid voor het opslaan van opgenomen gegevens naar bestand. Het ondersteunt zowel ruwe gegevens in cfile formaat en gr-gsm de barsten formaat, die zijn voorbewerkte GSM-uitbarstingen in plaats van ruwe signaal gegevens:
airprobe_rtlsdr_capture.py
Wij zullen het toevoegen van meer informatie over het vastleggen van dit programma later gebruikt, voor meer informatie over de beschikbare opties kunt u het programma start met de vlag -h:
airprobe_rtlsdr_capture.py -h
Airprobe decoderen
Dit programma biedt de mogelijkheid om te decoderen GSM berichten van opgeslagen opnamen, bijvoorbeeld opgenomen met airprobe_rtlsdr_capture.py:
airprobe_decode.py
Het programma ondersteunt beide cfile burst vangt en decodering van BCCH, SDCCH, TCH/F. ondersteund A5 versleutelingen voor decodering zijn A5/1, A5/2 en A5/3. airprobe_decode.py vermag decoderen full-tarief stem codecs GSM-FR, GSM-EFR 12.2 AMR, AMR 10.2, AMR 7,95, AMR 7.4, AMR 6.7, AMR 5,9, AMR 5.15, AMR 4,75.
Voor meer informatie over de beschikbare opties kunt u het programma start met de vlag -h:
airprobe_decode.py -h
Een meer gedetailleerde hoe over het gebruik van airprobe_decode.py kan worden gevonden in de decodering How To
Analyseren van GSM berichten in de Wireshark
De Airprobe (bestand, rtlsdr) toepassing verzendt GSM berichten in GSMTAP-indeling die is gemaakt door Harald Welte naar het UDP-poortnummer 4729. Wireshark interpreteert pakketten komen op deze poort als GSM-gegevens met GSMTAP kop en is in staat om berichten te ontleden.
Op Debian achtige kunnen systemen Wireshark worden geïnstalleerd met:
sudo ad rem-worden installeren wireshark
Om te beginnen met Wireshark rechtstreeks bij de analyse van de pakketten van de GSMTAP verkregen door gr-gsm airprobe gebruik het volgende commando:
sudo wireshark -k -f udp -Y gsmtap -i lo
Als u voorkomen dat de risico's veroorzaakt wilt door Wireshark uitgevoerd met rootprivileges Volg dit korte howto:
https://Ask.wireshark.org/questions/7976/wireshark...
Hoppen kanalen te decoderen
Decodering hoppen kanalen kan worden bereikt door een input stream per hoppen kanaal voederen in de ontvanger van de GSM-blok en de CX-poort verbinden met een CX kanaal Hopper-blok. In het huidige stadium van ontwikkeling is het echter computationeel duur om te splitsen een wideband vangen naar meerdere streams in real-time. Daarom moet de gsm_channelize.py app worden gebruikt voor het uitvoeren van deze taak als een pre-processing stap.
Als voorbeeld, zal de volgende opdracht channelize my_wideband_capture.cfile, in dit geval een cfile vastgelegd op 925.2 MHz gecentreerd (ARFCN 975) en 20 Msps. Dientengevolge, zullen 12 bestanden worden gegenereerd voor ARFCNs 975 - 1023 op elke 1 Msps:
gsm_channelize.py -f my_wideband_capture.cfile - c 925.2e6 990 991 992 993 994 995 1019 1020