====== SDR (Software Defined Radio) ====== * běžné zařízení pro rádiovou komunikaci se skládá z několika částí, specializovaných obvodů. SDR umožňuje vytvořit/simulovat teoreticky jakékoliv takové zařízení softwarově. Potřebuje pouze hardware, který umožní přijímat/posílat vlastní signál. Zpracování signálu pak probíhá v software. * příklady využití: * spektrální analyzátor * poslech letecké komunikace (ATC, ATIS) * dekódování pozice letadel, příjem ADS-B, ACARS zpráv, sledování radarových signálů * poslech amatérských rádií (CB, PMR446) * poslech FM rádia * odposlech GSM signálu * příjem GPS signálů * SW zpracování je náročné na CPU ===== Software ===== ==== Universal Radio Hacker ==== * tool pro dekodování protokolů a přehrávání https://github.com/jopohl/urh * tuturiály https://www.youtube.com/watch?v=kuubkTDAxwA&list=PLlKjreY6G-1EKKBs9sucMdk8PwzcFuIPB&index=1 * nejprve se najde nosná frekvence na spektrometru, zachytí signál * pak se nastaví bit length (jak dlouho trvá jeden bit), jde i automaticky * vybere správná modulace, protokol.. no viz videa :D ==== GNU Radio ==== * [[https://www.gnuradio.org|GNU Radio]] * umožňuje blokově sestavit cokoliv * podporuje velké množství bloků (modulátory, demodulátory, dekodéry, ..) ==== Gqrx SDR ==== * [[http://gqrx.dk|Gqrx SDR]] * založeno na GNU radio * podporuje demodulace AM, SSB, CW, FM-N and FM-W (mono and stereo) * CW-U or CW-L for Morse code On-Off modulation * (use Upper or Lower side band depending on possible interference from another carrier close by) * USB or LSB for single side band amplitude modulation, Upper or Lower Side Band, * WFM (stereo or mono) for Wide Frequency Modulation used by broad casting stations, * Narrow FM for e.g. marine VHF, * AM for old style Amplitude Modulation used by broadcasting stations, * Raw I/Q is intended to pass raw I/Q data through without any demodulation; however, this mode has not been implemented yet, * squelch * Freq. correction * 10ppm is 10Hz of a 1MHz signal, 1.44kHz of a 144MHz signal, etc. ==== Dump1090 ==== * program na příjem ADS-B (primárně pro RTL-SDR) * umožňuje * zobrazit dekódované zprávy v terminálu (dump1090) * zobrazit přehled aktivních letadel v terminálu (dump1090+view1090) * zobrazit pohyb letadel na mapě ve webové aplikaci (dump1090+www) * přes integrovaný webserver * přes externí webserver (apache, lighttpd) * existuje hodně forků * https://github.com/antirez/dump1090 * jednoduchý, parametrem ''--net'' se spustí vestavěný webserver na http://localhost:8080 * https://github.com/mutability/dump1090 * novější, nedoporučuje se používat vestavěný webserver (implicitně vypnutý) * místo toho se má použít externí, například lighttpd ([[https://blog.brichacek.net/jak-se-lovi-letadla-aneb-prijimame-ads-b/|návod]]) * na webu se vystaví složka public_html * nastaví se alias /data na složku s JSON (ideálně v RAM, např v /dev/shm) * spustí se dump1090 se zápisem JSON do zadané složky (parametr ''-write-json'') * nefunguje ve firefox * vypisuje to divnou chybu s databází, musí se nějak explicitně povolit * v chrome mi to ale běží bez problémů * https://github.com/Mictronics/dump1090 * obdoba mutability, ale asi nejnovější * příklad konfigurace apache ServerName dump1090 DocumentRoot /usr/src/dump1090-mictronics/public_html Alias /data /dev/shm/dump1090 Require all granted Require all granted ==== SoftFM ==== * příjem FM rádia v terminálu * https://github.com/jorisvr/SoftFM ==== RTLSDR-Airband ==== * příjem PMR / ATC ... * https://github.com/rtl-airband/RTLSDR-Airband ===== Hardware ===== * RTL-SDR * nejlevnější a nejlépe podporované * téměř všechny mají USB rozhraní RTL2832U * tuner mívají R820T nebo kvalitnější R802T2 (citlivější) * některé jsou v plastu, některé mají kovovou krabičku (proti rušení) * některé mají obyčejný krystal, některé teplotně stabilnější TCX0 * konektory bývají IEC (TV koax), SMA, MMCX * příjem HF (0.1 - 30 Mhz) * některé podporují direct sampling * jde o obejití tuneru a připojení signálu přímo k čipu RTL2832U * prý stačí připojit drát na pin a je to :) ale hrozní usmažení čipu * kvůli tomu to nejspíš někteří [[https://blog.brichacek.net/uprava-sdr-prijimace-s-rtl2832u-a-r820t/|vylepšují nějakým obvodem]] * některé mají předřazený obvod, který převádí nízké kmitočty na vysoké (Upconverter) * například přičítá 125 Mhz * je [[http://www.radioforeveryone.com/2016/09/direct-sampling-vs-rtl-sdr-with.html|prý kvalitnější]] než direct sampling, ale otázkou asi je, jak kvalitně je direct sampling nebo upconvertor vyroben * zajímavé kousky * [[http://www.ebay.com/itm/RTL2832U-R820T2-100KHz-1-7GHz-UHF-VHF-HF-RTL-SDR-USB-Tuner-Receiver-AM-FM-Radio-/192226855145?epid=2007988392&hash=item2cc19d08e9:g:G2wAAOSw~e5ZTer9|ebay RTL2832U+R820T2+TCX0, 2x SMA]] * dva SMA konektory pro UV a HF * modré kovové pouzdro * direct sampling (HF Shortwave Q branch direct sampling) * 950 Kč * [[http://www.ebay.com/itm/100KHz-1-7GHz-Full-Band-RTL-SDR-Upconverter-USB-Tuner-Receiver-2832U-R820T-Radio-/201913927577|ebay RTL2832U+R820T, 2x SMA]] * dva SMA konektory pro UV a HF * mechanicky přepínatelný vstup UV/HF (Upconverter) * 650 Kč * [[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/|RTL-SDR.com dongle V3]] [[http://www.ebay.com/itm/RTL-SDR-Blog-RTL2832U-1PPM-TCXO-HF-BiasT-SMA-Software-Defined-Radio-/272411458376?epid=1649791159&hash=item3f6cfcfb48:g:3HYAAOSwxKtX~vBo|ebay]] * RTL2832U+R820T2+TCXO, SMA * v bílem kovu * kompaktní rozměry * 478 Kč * [[https://www.hamshop.cz/sdr-c40/sdr-rtl2832u-r820t2-i290/|SDR RTL2832U + R820T2]] * plastový TV tuner * konektor MMCX * 390 Kč * [[https://greatscottgadgets.com/hackrf/|HackRF One]] * prý nejlevnější SDR s možností vysílat (když nepočítám ten PiTX) * na ebay od 3800 Kč, oficiální distribuce tak 6-7k * 1 Mhz - 6 Ghz * pouze half duplex * open source * software-controlled antenna port power (max 50 mA at 3.3 V) * 10 MHz to 2150 MHz: 5 dBm to 15 dBm, generally increasing as frequency decreases * 2150 MHz to 2750 MHz: 13 dBm to 15 dBm * 2750 MHz to 4000 MHz: 0 dBm to 5 dBm, increasing as frequency decreases * 4000 MHz to 6000 MHz: -10 dBm to 0 dBm, generally increasing as frequency decreases * [[https://www.crowdsupply.com/lime-micro/limesdr|Lime SDR]] * 100kHz-3.8GHz * RF bandwidth 61.44MHz (HackRF One má jen 20, RTL-SDR jen 3,2 Mhz) * full duplex * 299 USD * Flipper Zero * podporuje 300-900 Mhz (včetně 433), NFC, BLE, IR.. * podporuje různé protokoly, algoritmy plovoucích kódů * umí zachytávat i přehrávat komunikaci * https://www.youtube.com/watch?v=PJvdIrY6aJY * 199 EUR * [[http://gqrx.dk/supported-hardware|seznam zařízení podporovných Gqrx]] ==== Astrometa DVB-T2 ==== * jde o RTL-SDR * mám verzi 2014 (v bílém plastu se šedým textem DVB-T/T2/C+FM+DAB) * Tuner: Rafael Micro R828D * je prý podobný na R820T * the only real difference is that it has 3 inputs instead of only one (Air-In, Cable1, Cable2), of which two are connected on the Astrometa DVB-T2 stick [[https://www.rtl-sdr.com/new-rtl-sdr-tuner-chip-r828d/|zdroj]] * R828D is flagship model, whilst R820T is reduced to DTV terrestrial only [[http://blog.palosaari.fi/2013/10/naked-hardware-14-dvb-t2-usb-tv-stick.html|zdroj]] * Demodulator: Panasonic MN88473 * DVB-T/T2/C * USB interface: Realtek RTL2832P * RTL2832P is same chip than RTL2832U, but it has extra TS (transport stream) interface to connect external demodulator * v mém případě je spojen s MN88473 * Shortly, RTL2832U is USB interface and DVB-T demodulator in one package. [[http://blog.palosaari.fi/2013/10/naked-hardware-14-dvb-t2-usb-tv-stick.html|zdroj]] * [[https://blog.brichacek.net/uprava-sdr-prijimace-s-rtl2832u-a-r820t/|Vylepšení RTL2832U a R820T - lepší krystal, +SMA konektor, +direct sampling]] * v Gqrx mi ukazuje rozsah 24 Mhz - 1.765 GHz * umí zobrazit skoro 3 MHz spektrum najednou (šířka pásma) * takže lze monitorovat například celý PMR nebo CB pásmo najednou * frekvence nejsou asi úplně přesné * PMR1 má být na 446.006250 MHz, ale nosnou vlhnu jsem chytal na +20.5 kHz * v programu Gqrx jsem nastavil korekci na -44 ppm a PMR1-8 téměř dokonale sedí * na LKTB ATIS (131.105 Mhz) by se ale hodila spíš korekce -11 ppm * druhý den jsem korekci musel nastavit na -46 ppm. Nejspíš se to změnilo kvůli teplotě ==== RTL-SDR.COM V3 ==== * https://www.rtl-sdr.com/wp-content/uploads/2018/02/RTL-SDR-Blog-V3-Datasheet.pdf * je hodně podobný na Astrometa DVB-T2, trochu vylepšený * frekvence už skoro vůbec nedriftuje, takže přesnější TCXO oscilátor pomohl * koupil jsem sadu včetně teleskopických antén, změna délky antény fakt účinkuje * direct sampling funguje, na CB stačí normální režim * lze nastavit až 3.2 Msps, ale stabilní je jen do 2.4 ===== Prakticky ===== * Všechno jsem testoval na Astrometa DVB-T2 a pak i RTL-SDR.COM V3 * pokud není uvedeno jinak, tak přes Gqrx, který žere skoro 50% CPU * zkoušel jsem aktivní anténu * podporuje 30-950 Mhz * signál byl určitě lepší než u té malé prutové, ale otáčení kolečka GAIN už moc vliv nemělo * beztak to bude mít podobný signál jako ta moje nejlepší magnetická (cca 15 cm) * je super, že teď aspoň vidím, co to se signálem dělá :D * analýza signálu DVB-T/T2 * pokud má tuner takové odchylky ve frekvencích, možná by bylo lepší zadávat frekvence DVB-T podle spektrální analýzy (ale bez Freq. correction). * Dále by se dal spektrální analyzátor použít na vyladění pozice antény :D * Zjistil jsem ale, že to nejde, protože TV pásmo je hrozně široké ==== PMR ==== * zajistil jsem, že používá modulaci FM (nejspíš NFM), myslel jsem, že AM * šířka pásma je 12.5 kHz * jde hezky rozumět, skoro dokonalé * zkoušel dosah * malou prutovou anténu tuneru jsem postavil vedle Motorola TLKR T80 * druhou T80 jsem vysílal z postupně větší vzdálenosti * příjem byl podobný, T80 začala šumět prý později * ta malá prutová anténa je ale obecně nic moc * docela mě překvapilo, že vysílání T80 zarušilo celé sledované 3 Mhz spektrum. * skutečně ta vysílačka tak hrozně ruší? * je to normální chování? nebylo to jen malou vzdáleností od tuneru? * dá se tomu spektrálním analyzátoru věřit? ==== CB ==== * v pásmu CB (27 Mhz) jsem zatím žádné vysílání CB nechytil * je možné, že tuhle frekvenci tuner nechytá dobře, protože je pod 30 Mhz * měla bys se používat modulace NFM, AM nebo SSB * šířka kanálu má být nejspíš 10 kHz? * chytil jsem akorát FM rádio kousíček před pásmem CB * to je divný.. jaktože tam bylo rádio? * nějaké skutečně nežádoucí rušení? * nebo to tuner špatně analyzuje? ==== FM rozhlas ==== * vysílače mají docela silný nepřehlédnutelný signál s velkou šířkou (cca 160 kHz) * modulace WFM (mono) je většinou úplně bez šumu * modulace WFM (stareo) mi šuměla snad vždycky, alespoň trochu. Stereo zvuk ale zní líp a funguje zde i RDS ==== ADS-B ==== * [[https://blog.brichacek.net/jak-se-lovi-letadla-aneb-prijimame-ads-b/|Jak se loví letadla aneb Přijímáme ADS-B]] * testoval jsem všechny forky [[sdr#dump1090|dump1090]] * fakt funguje :) hned mi to chytilo 2-6 letadel ve vzdálenosti i 85 km * některá letadla neposílají svou pozici, pouze výšku a SQUAWK * CPU je zatíženo minimálně * frekvence 1090Mhz, takže cca 27.5 cm anténa ===== TODO ===== * doplnit informace o čipech do HW sekce * jak funguje ten direct sampling? * https://www.rtl-sdr.com/comparisons-r820t-r820t2-rtl-sdr-tuners/ * https://www.rtl-sdr.com/rtl-sdr-tests-r820t-vs-r820t2-stability-tests-for-radio-astronomy/ * https://www.rtl-sdr.com/experimenting-r820t2-tuner-chip/ * kouknout se po dalších zajímavých SDR * PiTx * dokáže generovat signál 130 kHz - 750 Mhz pomocí raspi * stačí připojit drát na gpio * generuje prý ale hodně rušení, po celém spektru * [[https://www.rtl-sdr.com/transmitting-fm-am-ssb-sstv-and-fsq-with-just-a-raspberry-pi/|Transmitting FM, AM, SSB, SSTV and FSQ with just a Raspberry Pi]] * https://www.rtl-sdr.com/tag/pitx/ * [[http://www.electrodragon.com/w/CC1101|CC1101]] * transceiver pro pásmo 300-348 MHz, 387-464 MHz and 779-928 MHz * používá se ve spojení s arduinem na zajímavé projekty (replay útok na odemykání aut) * Zkusit GSM prakticky * [[https://blog.brichacek.net/zachyceni-a-dekodovani-gsm-signalu|Zachycení a dekódování GSM signálu|]] * [[https://www.youtube.com/watch?v=krJJKjYdwgc&t=1305|GSM Sniffing: Voice Decryption 101 - Software Defined Radio Series #11]] * https://hackaday.com/2013/10/22/cracking-gsm-with-rtl-sdr-for-thirty-dollars/ * https://www.rtl-sdr.com/receiving-decoding-decrypting-gsm-signals-rtl-sdr/ * souvisí to nějak se zranitelnostmi SS7? * https://the8layers.com/2017/05/05/hackers-used-ss7-exploit-steal-sms-confirmation-code-steal-bank-accounts/ * https://www.root.cz/clanky/postrehy-z-bezpecnosti-ss7-zranitelnosti-zneuzity-k-vykradeni-bankovnich-uctu/ * https://www.root.cz/clanky/postrehy-z-bezpecnosti-chyby-v-protokolech-ss7-opet-na-scene/ * vyzkoušet další příklady použití * [[http://osmocom.org/projects/sdr/wiki/rtl-sdr|Přehled HW a SW pro rtl-sdr]] * [[https://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=101120|Analyzátor RFID signálu]] * [[http://www.instructables.com/id/RTL-SDR-FM-radio-receiver-with-GNU-Radio-Companion|Vytvoření FM přijímače v GNU radiu]] * Odposlech DECT telefonu * kdybych měl i vysílač, tak bych mohl udělat ten SIP DECT telefon :) * [[https://www.youtube.com/watch?v=JRdjRJjWEx0|odposlech tetra systému]]