Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
dump1090 — Dump1090 is a simple Mode S decoder for RTLSDR devices | Kitploit
Tools/GitHubGitHub/antirez/dump1090
Embedded Systems SecurityNetwork MappingInformation GatheringWireless SecurityUtilities & FrameworksHardware & IoT Security
GitHubantirez/dump1090

dump1090

Dump1090 is a simple Mode S decoder for RTLSDR devices

Repository anzeigen
2.9k1.4kvor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Dump1090 README

Dump 1090 ist ein Mode-S-Decoder, der speziell für RTLSDR-Geräte entwickelt wurde.

Die Hauptfunktionen sind:

  • Robustes Dekodieren schwacher Nachrichten – mit Dump1090 haben viele Nutzer eine verbesserte Reichweite im Vergleich zu anderen gängigen Decodern beobachtet.
  • Netzwerkunterstützung: TCP30003-Stream (MSG5...), Rohpakete, HTTP.
  • Eingebetteter HTTP-Server, der die aktuell erkannten Flugzeuge auf Google Map anzeigt.
  • Korrektur von Einzelbitfehlern mittels 24-Bit-CRC.
  • Fähigkeit, DF11- und DF17-Nachrichten zu dekodieren.
  • Fähigkeit, DF-Formate wie DF0, DF4, DF5, DF16, DF20 und DF21 zu dekodieren, bei denen die Prüfsumme mit der ICAO-Adresse verknüpft ist, indem das Prüfsummenfeld durch Brute-Force unter Verwendung kürzlich gesehener ICAO-Adressen erzwungen wird.
  • Dekodieren von rohen IQ-Abtastwerten aus einer Datei (mit der Befehlszeilenoption --ifile).
  • Interaktiver Befehlszeilenmodus, in dem aktuell erkannte Flugzeuge als Liste angezeigt werden, die sich aktualisiert, sobald weitere Daten eintreffen.
  • CPR-Koordinatendekodierung und Spurenberechnung aus der Geschwindigkeit.
  • Dekodierung von Bodenpositionen für Flugzeuge am Boden (Rollen usw.).
  • TCP-Server-Streaming und -Empfang von Rohdaten zu/von verbundenen Clients (mit --net).

Während ich von Zeit zu Zeit noch Dinge in meinem Fork hinzufüge oder korrigiere, ziele ich auf einen minimalistischen Implementierungsansatz ab. Es gibt jedoch einen wesentlich funktionsreicheren Fork, der von MalcolmRobb entwickelt wurde.

Installation

Geben Sie "make" ein.

Normale Verwendung

Um Verkehr direkt von Ihrem RTL-Gerät zu erfassen und auf der Standardausgabe anzuzeigen, führen Sie das Programm einfach ohne Optionen aus:

root@kitploit:~
./dump1090

Um nur hexadezimale Nachrichten auszugeben:

root@kitploit:~
./dump1090 --raw

Um das Programm im interaktiven Modus auszuführen:

root@kitploit:~
./dump1090 --interactive

Um das Programm im interaktiven Modus mit Netzwerkunterstützung auszuführen und sich mit Ihrem Browser unter http://localhost:8080 zu verbinden, um den Live-Verkehr zu sehen:

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

Im interaktiven Modus ist eine weniger informationsdichte, aber stärker im "Arcade-Stil" gehaltene Ausgabe möglich, bei der der Bildschirm jede Sekunde aktualisiert wird und alle kürzlich gesehenen Flugzeuge mit zusätzlichen Informationen wie Höhe und Flugnummer anzeigt, die aus den empfangenen Mode-S-Paketen extrahiert wurden.

Verwendung von Dateien als Datenquelle

Um Daten aus einer Datei zu dekodieren, verwenden Sie:

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

Die Binärdatei sollte mit rtl_sdr wie folgt erstellt werden (oder mit einem anderen Programm, das 8-Bit-unsignierte IQ-Abtastwerte mit einer Abtastrate von 2 MHz ausgeben kann).

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

Im Beispiel wird eine Verstärkung von 50 verwendet; Sie sollten einfach die höchste für Ihren Tuner verfügbare Verstärkung nutzen. Dies ist beim Aufruf von Dump1090 selbst nicht erforderlich, da es die höchste unterstützte Verstärkung automatisch auswählen kann.

Es ist möglich, das Programm über die Standardeingabe mit Daten zu versorgen, indem die Option --ifile mit "-" als Argument verwendet wird.

Zusätzliche Optionen

Dump1090 kann mit anderen Befehlszeilenoptionen aufgerufen werden, um eine andere Verstärkung, Frequenz usw. einzustellen. Für eine Liste der Optionen verwenden Sie:

root@kitploit:~
./dump1090 --help

Alles, was hier nicht dokumentiert ist, sollte offensichtlich sein, und für die meisten Benutzer ist es am besten, es ganz ohne Argumente aufzurufen.

Zuverlässigkeit

Standardmäßig versucht Dump1090, Bitfehler mit der CRC-Prüfsumme zu korrigieren. Das Programm verwendet eine vorberechnete Syndromtabelle, um bis zu zwei Bitfehler in empfangenen Nachrichten schnell zu identifizieren und zu korrigieren.

Dies ist tatsächlich in der Lage, Fehler zu korrigieren und funktioniert meiner Erfahrung nach zuverlässig. Wenn Sie jedoch an sehr zuverlässigen Daten interessiert sind, empfehle ich, die Befehlszeilenoption --no-fix zu verwenden, um die Fehlerkorrektur zu deaktivieren.

Leistung und Erkennungsempfindlichkeit

Meiner begrenzten Erfahrung nach konnte Dump1090 eine große Anzahl von Nachrichten dekodieren, selbst unter Bedingungen, bei denen ich mit anderen Programmen Probleme hatte. Es wurden jedoch keine formellen Tests durchgeführt, sodass ich nicht wirklich behaupten kann, dass dieses Programm im Vergleich zu anderen ähnlichen Programmen besser oder schlechter ist.

Wenn Sie Verkehr erfassen können, den Dump1090 nicht richtig dekodieren kann, senden Sie mir bitte eine E-Mail mit einem Download-Link. Ich werde versuchen, die Erkennung in meiner Freizeit zu verbessern (dies ist nur ein Hobbyprojekt).

Dekodierung von Bodenpositionen

Dump1090 kann Bodenpositionsmeldungen (Typecode 5-8) dekodieren, die von Flugzeugen während des Aufenthalts am Boden (Rollen, Warten an Gates usw.) gesendet werden. Diese Meldungen enthalten die Position des Flugzeugs, die Bodengeschwindigkeit und die Spur über Grund.

Bodenpositionen verwenden eine andere Kodierung als Luftpositionen: Das CPR-Format (Compact Position Reporting) umfasst nur 90 Grad statt 360 und erfordert eine Referenzposition innerhalb von 45 Seemeilen für eine eindeutige Dekodierung.

Anstatt dass Sie den Standort Ihres Empfängers konfigurieren müssen, berechnet Dump1090 automatisch eine Referenzposition durch Mittelung aller erfolgreich dekodierten Luftpositionen. Dies funktioniert, weil Sie, wenn Sie Bodenverkehr von einem Flughafen empfangen können, mit ziemlicher Sicherheit auch Luftverkehr empfangen. Die gemittelte Position überfliegender Flugzeuge liefert eine Referenz, die nahe genug ist (weit innerhalb der 45-NM-Anforderung), um Bodenpositionen zu dekodieren.

Hinweis: Bodenpositionen werden erst angezeigt, wenn mindestens eine Luftposition erfolgreich dekodiert wurde, um die Referenz zu etablieren. Flugzeuge am Boden werden im interaktiven Display mit der Höhe 0 angezeigt.

Netzwerk-Server-Funktionen

Durch Aktivieren der Netzwerkunterstützung mit --net beginnt Dump1090, auf Clientverbindungen auf den Ports 30002 und 30001 zu lauschen (Sie können beide Ports bei Bedarf ändern, siehe --help-Ausgabe).

Port 30002

Verbundene Clients werden mit Daten versorgt, sobald sie vom Gerät (oder aus der Datei, falls --ifile verwendet wird) eintreffen, und zwar im Rohformat ähnlich dem folgenden:

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

Jeder Eintrag wird durch einen einfachen Zeilenumbruch (LF-Zeichen, hex 0x0A) getrennt.

Port 30001

Port 30001 ist der Rohdateneingangsport und kann verwendet werden, um Dump1090 mit Daten im gleichen Format wie oben angegeben zu versorgen, wobei Hex-Nachrichten mit einem * beginnen und mit einem ; enden.

Wenn es also eine andere entfernte Dump1090-Instanz gibt, die Daten sammelt, ist es möglich, die Ausgabe zu einer lokalen Dump1090-Instanz zu summieren, etwa so:

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

Es ist wichtig zu beachten, dass das, was über Port 30001 empfangen wird, auch an Clients weitergeleitet wird, die auf Port 30002 horchen.

Im Allgemeinen wird alles, was von Port 30001 empfangen wird, genau wie der normale Verkehr von RTL-Geräten oder aus einer Datei behandelt, wenn --ifile verwendet wird.

Es ist möglich, Dump1090 nur als Hub zu verwenden, indem --ifile mit /dev/zero als Argument verwendet wird, wie im folgenden Beispiel:

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

Oder alternativ, um zu sehen, was auf dem Bildschirm passiert:

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

Dann können Sie es aus verschiedenen Datenquellen aus dem Internet speisen.

Port 30003

Verbundene Clients werden mit Nachrichten im SBS1-Format (BaseStation) versorgt, ähnlich wie:

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

Dies kann verwendet werden, um Daten an verschiedene Sharing-Seiten zu liefern, ohne einen anderen Decoder verwenden zu müssen.

Antenne

Mode-S-Nachrichten werden auf der Frequenz 1090 MHz gesendet. Wenn Sie eine anständige Antenne haben, können Sie Signale von Flugzeugen empfangen, die ziemlich weit von Ihrem Standort entfernt sind, insbesondere wenn Sie sich im Freien an einem Ort mit guter Himmelssicht befinden.

Sie können ganz einfach eine sehr günstige Antenne bauen, indem Sie den Anweisungen auf folgender Seite folgen:

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

Mit dieser einfachen Antenne konnte ich Signale von Flugzeugen empfangen, die über 200 km von mir entfernt waren.

Wenn Sie an einer ernsthafteren Antenne interessiert sind, sehen Sie sich die folgenden Ressourcen an:

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

Aggressiver Modus

Mit --aggressive kann der aggressive Modus aktiviert werden, eine modifizierte Version der Mode-S-Paketerkennung und -Dekodierung. Der aggressive Modus verwendet normalerweise mehr CPU (insbesondere wenn viele Flugzeuge DF17-Pakete senden), kann aber einige Nachrichten mehr erkennen.

Der Algorithmus im aggressiven Modus ist wie folgt modifiziert:

  • Bis zu zwei Demodulationsfehler werden toleriert (benachbarte Einträge im Magnitudenvektor mit gleicher Höhe). Normalerweise werden nur fehlerfreie Nachrichten überprüft.
  • Es versucht, DF17-Nachrichten zu korrigieren, indem es jede Zweibit-Kombination durchprobiert.

Die Verwendung des aggressiven Modus wird nur an Orten mit geringem Verkehrsaufkommen empfohlen, um die Chance zu haben, einige weitere Nachrichten zu erfassen.

Debug-Modus

Der Debug-Modus ist eine visuelle Hilfe, um den Erkennungsalgorithmus zu verbessern oder zu verstehen, warum das Programm bei einer bestimmten Eingabe nicht funktioniert.

In diesem Modus werden Nachrichten in einer grafischen ASCII-Art-Darstellung angezeigt, bei der die einzelnen mit 2 MHz abgetasteten Magnitudenbalken dargestellt werden.

Ein Index zeigt die Abtastnummer, wobei 0 die Abtastung ist, bei der der erste Mode-S-Peak gefunden wurde. Vor dem ersten Peak wird auch etwas zusätzliches Hintergrundrauschen hinzugefügt, um einen Kontext zu bieten.

Um den Debug-Modus zu aktivieren und zu überprüfen, welche Paketkombinationen Sie protokollieren können, verwenden Sie dump1090 --help, um eine Liste der verfügbaren Debug-Flags zu erhalten.

Der Debug-Modus enthält eine optionale JavaScript-Ausgabe, die zur Visualisierung von Paketen in einem Webbrowser verwendet wird. Sie können die Datei debug.html im Verzeichnis 'tools' verwenden, um die generierte frames.js-Datei zu laden.

Wie dieses Programm funktioniert?

Der Code ist sehr gut dokumentiert und so geschrieben, dass er leicht zu verstehen ist. Für den fleißigen Programmierer mit einer Mode-S-Spezifikation in der Hand sollte es trivial sein zu verstehen, wie er funktioniert.

Die von mir verwendeten Algorithmen wurden im Wesentlichen durch das Betrachten vieler Nachrichten gewonnen, die mit einem Wegwerf-SDL-Programm angezeigt wurden, und indem versucht wurde, den Algorithmus basierend auf dem grafischen Erscheinungsbild der Nachrichten zu modellieren.

Wie testet man das Programm?

Wenn Sie ein RTLSDR-Gerät haben und sich zufällig in einem Gebiet befinden, in dem Flugzeuge über Ihnen fliegen, führen Sie einfach das Programm aus und prüfen Sie auf Signale.

Wenn Sie jedoch kein RTLSDR-Gerät haben oder die Anzahl der Flugzeuge in Ihrer Gegend sehr begrenzt ist, können Sie die mit der Dump1090-Distribution im Verzeichnis "testfiles" mitgelieferte Beispieldatei ausprobieren.

Führen Sie es einfach so aus:

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

Was ist der --snip-Modus?

Es ist nur ein einfacher Filter, der rohe 8-Bit-IQ-Abtastwerte als Eingabe nimmt und eine Datei ausgibt, der alle Teile der Datei fehlen, in denen I und Q für mehr als 32 Abtastwerte unter dem angegebenen liegen.

Verwenden Sie es so:

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

Ich habe es verwendet, um eine kleine Testdatei zu erstellen, die in die Quellcodeverteilung dieses Programms aufgenommen werden soll.

Mitwirken

Dump1090 wurde in der Weihnachtszeit 2012 in meiner Freizeit geschrieben. Es ist ein Hobbyprojekt, daher kann ich mich nur in meiner Freizeit mit Problemen befassen und Verbesserungen vornehmen. Sie werden jedoch ermutigt, Pull-Requests zu senden, um das Programm zu verbessern. Ein guter Ausgangspunkt kann die TODO-Liste sein, die in der Quellcodeverteilung enthalten ist.

Danksagungen

Dump1090 wurde von Salvatore Sanfilippo [email protected] und den anderen Mitwirkenden geschrieben, die im Laufe der Zeit Patches eingereicht haben (für weitere Informationen siehe die Commit-Historie), und es wird unter der BSD-Drei-Klausel-Lizenz veröffentlicht.

Tool herunterladen