Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dump1090 — Dump1090 è un semplice decoder Mode S per dispositivi RTLSDR | Kitploit
Strumenti/GitHubGitHub/malcolmrobb/dump1090
Sicurezza Sistemi EmbeddedMappatura della ReteRaccolta InformazioniSicurezza WirelessSicurezza HardwareUtilità e Framework
GitHubmalcolmrobb/dump1090

dump1090

Dump1090 è un semplice decoder Mode S per dispositivi RTLSDR

Vedi Repository
1.1k319511 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Dump1090 README

Dump 1090 è un decoder Mode S progettato specificamente per dispositivi RTLSDR.

Le caratteristiche principali sono:

  • Decodifica robusta di messaggi deboli, con mode1090 molti utenti hanno osservato una portata migliore rispetto ad altri decoder popolari.
  • Supporto di rete: flusso TCP30003 (MSG5...), pacchetti Raw, HTTP.
  • Server HTTP integrato che mostra gli aeromobili attualmente rilevati su Google Map.
  • Correzione degli errori a bit singolo utilizzando il CRC a 24 bit.
  • Capacità di decodificare messaggi DF11, DF17.
  • Capacità di decodificare formati DF come DF0, DF4, DF5, DF16, DF20 e DF21 dove il checksum è sottoposto a XOR con l'indirizzo ICAO forzando il campo del checksum usando indirizzi ICAO visti di recente.
  • Decodifica di campioni IQ grezzi da file (usando l'opzione da riga di comando --ifile).
  • Modalità interattiva da riga di comando in cui gli aeromobili attualmente rilevati vengono mostrati come un elenco che si aggiorna man mano che arrivano più dati.
  • Decodifica delle coordinate CPR e calcolo della rotta dalla velocità.
  • Server TCP che trasmette e riceve dati grezzi verso/da client connessi (usando --net).

Installazione

Digita "make".

Utilizzo normale

Per catturare il traffico direttamente dal tuo dispositivo RTL e mostrare il traffico catturato sull'output standard, esegui il programma senza alcuna opzione:

root@kitploit:~
./dump1090

Per emettere semplicemente messaggi esadecimali:

root@kitploit:~
./dump1090 --raw

Per eseguire il programma in modalità interattiva:

root@kitploit:~
./dump1090 --interactive

Per eseguire il programma in modalità interattiva, con supporto di rete, e connetterti con il tuo browser a http://localhost:8080 per vedere il traffico in tempo reale:

root@kitploit:~
./dump1090 --interactive --net

In modalità interattiva è possibile avere un output meno denso di informazioni ma più "stile arcade", dove lo schermo viene aggiornato ogni secondo mostrando tutti gli aeromobili visti di recente con alcune informazioni aggiuntive come altitudine e numero di volo, estratte dai pacchetti Mode S ricevuti.

Uso dei file come fonte di dati

Per decodificare dati da file, usa:

root@kitploit:~
./dump1090 --ifile /path/to/binfile

Il file binario dovrebbe essere creato usando rtl_sdr in questo modo (o con qualsiasi altro programma in grado di produrre campioni IQ senza segno a 8 bit a una frequenza di campionamento di 2Mhz).

root@kitploit:~
rtl_sdr -f 1090000000 -s 2000000 -g 50 output.bin

Nell'esempio rtl_sdr viene usato un guadagno di 50; semplicemente dovresti usare il guadagno più alto disponibile per il tuo tuner. Questo non è necessario quando si invoca Dump1090 stesso, poiché è in grado di selezionare automaticamente il guadagno più alto supportato.

È possibile fornire dati al programma tramite l'input standard usando l'opzione --ifile con "-" come argomento.

Opzioni aggiuntive

Dump1090 può essere invocato con altre opzioni da riga di comando per impostare un guadagno diverso, una frequenza diversa e così via. Per un elenco delle opzioni usa:

root@kitploit:~
./dump1090 --help

Tutto ciò che non è documentato qui dovrebbe essere ovvio, e per la maggior parte degli utenti la cosa migliore è invocarlo senza alcun argomento.

Affidabilità

Di default Dump1090 controlla gli errori di decodifica usando il checksum CRC a 24 bit, dove disponibile. I messaggi con errori vengono scartati.

L'opzione da riga di comando --fix abilita la correzione degli errori a bit singolo basata sul checksum CRC. Tecnicamente, usa una tabella di differenze di checksum precalcolate risultanti da errori a bit singolo per individuare la posizione del bit errato.

Questo è effettivamente in grado di correggere gli errori e funziona in modo affidabile nella mia esperienza, tuttavia se sei interessato a dati molto affidabili ti suggerisco di usare l'opzione da riga di comando --no-fix per disabilitare la correzione degli errori.

Prestazioni e sensibilità del rilevamento

Nella mia esperienza limitata Dump1090 è stato in grado di decodificare un gran numero di messaggi anche in condizioni in cui ho riscontrato problemi usando altri programmi, tuttavia non è stato eseguito alcun test formale, quindi non posso davvero affermare che questo programma sia migliore o peggiore rispetto ad altri programmi simili.

Se riesci a catturare traffico che Dump1090 non è in grado di decodificare correttamente, scrivimi un'email con un link di download. Potrei provare a migliorare il rilevamento nel mio tempo libero (questo è solo un progetto hobby).

Funzionalità del server di rete

Abilitando il supporto di rete con --net, Dump1090 inizia ad ascoltare le connessioni dei client sulle porte 30002 e 30001 (puoi cambiare entrambe le porte se vuoi, vedi l'output di --help).

Porta 30002

I client connessi ricevono i dati non appena arrivano dal dispositivo (o dal file se viene usato --ifile) nel formato grezzo simile al seguente:

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

Ogni voce è separata da un semplice newline (carattere LF, hex 0x0A).

Porta 30001

La porta 30001 è la porta di ingresso raw e può essere usata per fornire a Dump1090 dati nello stesso formato specificato sopra, con messaggi esadecimali che iniziano con un carattere * e terminano con un carattere ;.

Ad esempio, se c'è un'altra istanza remota di Dump1090 che raccoglie dati, è possibile sommare l'output a un'istanza locale di Dump1090 facendo qualcosa come:

root@kitploit:~
nc remote-dump1090.example.net 30002 | nc localhost 30001

È importante notare che ciò che viene ricevuto tramite la porta 30001 viene anche trasmesso ai client in ascolto sulla porta 30002.

In generale, tutto ciò che viene ricevuto dalla porta 30001 viene gestito esattamente come il traffico normale dai dispositivi RTL o dal file quando viene usato --ifile.

È possibile usare Dump1090 semplicemente come un hub usando --ifile con /dev/zero come argomento, come nell'esempio seguente:

root@kitploit:~
./dump1090 --net-only

Oppure, in alternativa, per vedere cosa succede sullo schermo:

root@kitploit:~
./dump1090 --net-only --interactive

Poi puoi alimentarlo da diverse fonti di dati provenienti da internet.

Porta 30003

I client connessi ricevono messaggi nel formato SBS1 (BaseStation), simili a:

root@kitploit:~
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0

Questo può essere usato per fornire dati a vari siti di condivisione senza la necessità di usare un altro decoder.

Antenna

I messaggi Mode S vengono trasmessi nella frequenza 1090 Mhz. Se hai un'antenna decente, sarai in grado di captare segnali da aeromobili abbastanza lontani dalla tua posizione, specialmente se sei all'aperto e in una posizione con una buona visuale del cielo.

Puoi facilmente costruire un'antenna molto economica seguendo le istruzioni su:

root@kitploit:~
http://antirez.com/news/46

Con questa antenna banale sono riuscito a captare segnali di aeromobili a 200+ Km da me.

Se sei interessato a un'antenna più seria, controlla le seguenti risorse:

  • http://gnuradio.org/redmine/attachments/download/246/06-foster-adsb.pdf
  • http://www.lll.lu/~edward/edward/adsb/antenna/ADSBantenna.html
  • http://modesbeast.com/pix/adsb-ant-drawing.gif

Modalità aggressiva

Con --aggressive è possibile attivare la modalità aggressiva, una versione modificata del rilevamento e della decodifica dei pacchetti Mode S. La modalità aggressiva di solito usa più CPU (specialmente se ci sono molti aerei che inviano pacchetti DF17), ma può rilevare qualche messaggio in più.

L'algoritmo in modalità aggressiva è modificato nei seguenti modi:

  • Sono tollerati fino a due errori di demodulazione (voci adiacenti nel vettore di magnitudine con lo stesso valore). Normalmente vengono controllati solo i messaggi senza errori.
  • Tenta di correggere i messaggi DF17 con errori CRC derivanti da errori su due bit qualsiasi.

L'uso della modalità aggressiva è consigliato solo in luoghi con traffico ridotto per avere la possibilità di catturare qualche messaggio in più.

Modalità di debug

La modalità Debug è un aiuto visivo per migliorare l'algoritmo di rilevamento o per capire perché il programma non funziona per un dato input.

In questa modalità i messaggi vengono visualizzati in una rappresentazione grafica in stile ASCII art, dove vengono mostrate le singole barre di magnitudine campionate a 2Mhz.

Un indice mostra il numero del campione, dove 0 è il campione in cui è stato trovato il primo picco Mode S. Prima del primo picco viene aggiunto anche un po' di rumore di fondo per fornire contesto.

Per abilitare la modalità debug e controllare quali combinazioni di pacchetti puoi registrare, usa mode1090 --help per ottenere un elenco dei flag di debug disponibili.

La modalità debug include un output javascript opzionale usato per visualizzare i pacchetti tramite un browser web; puoi usare il file debug.html nella directory 'tools' per caricare il file frames.js generato.

Come funziona questo programma?

Il codice è molto documentato e scritto per essere facile da capire. Per il programmatore diligente con una specifica Mode S tra le mani, dovrebbe essere banale capire come funziona.

Gli algoritmi che ho usato sono stati ottenuti fondamentalmente osservando molti messaggi visualizzati con un programma SDL usa e getta, e cercando di modellare l'algoritmo basandomi su come i messaggi appaiono graficamente.

Come testare il programma?

Se hai un dispositivo RTLSDR e ti trovi in un'area dove ci sono aeromobili che volano sopra la tua testa, esegui il programma e controlla i segnali.

Tuttavia, se non hai un dispositivo RTLSDR, o se nella tua zona la presenza di aeromobili è molto limitata, potresti voler provare il file di esempio distribuito con la distribuzione Dump1090 nella directory "testfiles".

Basta eseguirlo così:

root@kitploit:~
./dump1090 --ifile testfiles/modes1.bin

Cos'è la modalità --strip?

È semplicemente un filtro che riceve in input campioni IQ raw a 8 bit e produce in output un file senza tutte le parti del file in cui I e Q sono inferiori al specificato per più di 32 campioni.

Usalo così:

root@kitploit:~
cat big.bin | ./dump1090 --snip 25 > small.bin

L'ho usato per creare un piccolo file di test da includere nella distribuzione del codice sorgente di questo programma.

Contribuire

Dump1090 è stato scritto nel tempo libero durante il Natale 2012; è un progetto hobby, quindi potrò affrontare i problemi e migliorarlo solo nel tempo libero, tuttavia sei incoraggiato a inviare pull request per migliorare il programma. Un buon punto di partenza può essere la lista TODO inclusa nella distribuzione del sorgente.

Crediti

Dump1090 è stato scritto da Salvatore Sanfilippo [email protected] ed è rilasciato sotto la licenza BSD a tre clausole.

Scarica lo strumento