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
KNX-Bus-Dump — Ein Tool, um auf einem KNX-Bus über TPUART und die Calimero Project Suite zu lauschen und die Daten aus den Paketen in einen Wireshark-kompatiblen Datei-Hexdump zu extrahieren. | Kitploit
Tools/GitHubGitHub/chrism09/knx-bus-dump
Paket-Sniffing & AnalyseIoT-SicherheitForensikNetzwerksicherheitDigitale ForensikHardware- & IoT-Sicherheit
GitHubchrism09/knx-bus-dump

KNX-Bus-Dump

Ein Tool, um auf einem KNX-Bus über TPUART und die Calimero Project Suite zu lauschen und die Daten aus den Paketen in einen Wireshark-kompatiblen Datei-Hexdump zu extrahieren.

Repository anzeigen
124vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

KNX Bus Dump

KNX ist ein weit verbreitetes Gebäudeautomatisierungsprotokoll, das zur Verbindung von Sensoren, Aktoren und anderen Komponenten eines intelligenten Gebäudes dient. Unser KNX Bus Dump Tool verwendet die Calimero Java-Bibliothek, zu der wir für dieses Tool beigetragen haben, um die über einen KNX-Bus gesendeten Telegramme aufzuzeichnen. Insbesondere greift unser Tool über eine TPUART-Verbindung auf den KNX-Bus zu, kann aber auch für andere Verbindungsmedien angepasst werden. Die Telegramme werden in eine Wireshark-kompatible Hex-Dump-Datei ausgegeben. Zeitstempel werden bereitgestellt und auf UTC-Zeit normalisiert, mit Nanosekunden-Genauigkeit, um Datenanalysen zu ermöglichen und einen zeitlichen Verlauf der Telegramme zu liefern. Die Hex-Dump-Datei kann in Wireshark importiert werden, das so konfiguriert werden kann, dass es die KNX-Telegramme mit Wiresharks cEMI-Dissector analysiert.

Unser Tool kann für die Protokollanalyse von KNX-Sensoren, Aktoren und anderen KNX-Geräten verwendet werden. Beispielsweise haben wir das Tool genutzt, um unsere KNX-Geräte zu verstehen, und dabei unregelmäßige KNX-Telegramme gefunden. Das Tool eignet sich auch ideal für die Sicherheitsanalyse von KNX-Geräten, da es alle Details des verwendeten Protokolls und der über den KNX-Bus gesendeten Daten offenlegt.

Tcpdump und Wireshark können nicht zum Erfassen von Telegrammen verwendet werden, die über einen KNX-Bus gesendet werden, da wir es mit nativen KNX-Telegrammen zu tun haben, nicht mit TCP/IP-Paketen. Wireshark und Tcpdump können KNXnet/IP-Pakete erfassen, bei denen es sich um TCP/IP-Pakete handelt. KNXnet/IP ist ein Protokoll zum Senden von Befehlen und Daten über ein TCP/IP-Netzwerk an einen KNX-Bus.

Voraussetzungen

Dieses Tool ist für die Verwendung mit der Calimero Java-Bibliothek ausgelegt und mit einem Raspberry Pi 3 oder 4 sowie einem Raspberry Pi HAT für die TPUART-Verbindung kompatibel.

Hier sind einige Anleitungen zur Einrichtung der Umgebung:

  1. Anleitung zur Verwendung des KNX Raspberry PiHAT
  2. Einrichtung von Raspberry Pi und Calimero Suite

Hinweis: Die nächsten Schritte gehen davon aus, dass Sie Ihre Umgebung gemäß diesen Anleitungen eingerichtet haben.

Verwendung

Erstellen des Hex-Dumps

  1. Platziere die Datei KNXBusDump.java im Ordner introduction/src/main/java/ der Calimero-Projekt-Suite.

  2. Wechsle in den Ordner introduction.

  3. Um das Programm auszuführen, kannst du einfach Folgendes ausführen:

    root@kitploit:~
    ./gradlew run -Pcalimero.serial.tpuart.maxInterByteDelay=60000 -DmainClass=KNXBusDump
    

    Beachte die Fehlerbehebungs-Anleitung unten für Lösungen zu häufigen Fehlern.

  4. Warte nun, bis Nachrichten auf dem Bus übertragen werden. Die ausgegebenen Telegramme befinden sich in der Datei KNXBusDump-Telegrams.txt.

  5. Beende das Tool mit Strg-C. Die Datei ist nun bereit, in Wireshark importiert und analysiert zu werden.

Analysieren des Hex-Dumps

In Wireshark hast du die Möglichkeit, Pakete aus einem Hex-Dump zu importieren und einen Dissector zur Analyse der Pakete anzugeben.

  1. Warte nach dem Start von Wireshark, bis der anfängliche Ladevorgang abgeschlossen ist. Klicke dann auf Datei -> Aus Hex-Dump importieren...

  2. Um dies korrekt zu parsen, müssen wir einen regulären Ausdruck (Regex) mit einigen Tags angeben.

    root@kitploit:~
    ^\s*(?<time>\d{4}-\d\d\-\d\dT(\d\d\:){2}\d\d.(\d){6}[Z])\s(?<seqno>\d{6})\s+(?<data>[0-9a-fA-F]*)$
    
  3. Wähle die Hex-Dump-Datei als Quelle aus.

  4. Wechsle im neuen Dialog zum Tab Regular Expression und füge den Regex in das Feld ein.

  5. Stelle sicher, dass die Datenkodierung Plain hex ist. 200*16

  6. Im Textfeld Timestamp format müssen wir das vom Tool generierte Muster angeben.

    root@kitploit:~
    %Y-%m-%dT%H:%M:%S.%fZ
    

    HINWEIS: Das Zeitstempelformat MUSS GENAU DIESES sein. Andernfalls wird kein Zeitstempel analysiert.

  7. Ändere im Abschnitt Encapsulation den Encapsulation Type auf Wireshark Upper PDU Export.

  8. Aktiviere ExportPDU, um den cemi-Dissector anzugeben.

  9. Nun kannst du die Datei importieren und das Telegramm analysieren.

Beispielausgabe

Wireshark-Zeitstempel:

Entsprechende Hex-Dump-Datei

Hinweis: Die hervorgehobene Zeit ist die NORMALISIERTE UTC-ZEIT. Egal, welche Zeitzone neben der Zeit angegeben wird, es ist IMMER die korrekte UTC-Zeit.

Überlegungen:

  1. Der cemi-Dissector beginnt am Nachrichtencode (MC) des Telegramms. Er berücksichtigt nicht den Medientyp.
  2. Der Grund, warum das TPCI rot hervorgehoben ist, liegt in einer Designentscheidung. Der Dissector erkennt, dass das Paket ein Unnumbered Data Packet (UDP) ist, was bedeutet, dass die Sequenznummer gemäß dem KNX-Standard normalerweise auf 0 gesetzt ist. Allerdings setzen einige Geräte diese manchmal auf einen nicht Nullwert. In diesem Fall wurde sie auf 1 gesetzt. Der Dissector prüft dann, ob die Sequenznummer Null ist. In diesem Fall ist sie es nicht, daher die Fehlermeldung, dass die Sequenznummer 0 erwartet wird.

Fehlerbehebungs-Anleitung

Dies sind einige häufige Fehler, die beim Ausführen dieses Programms mit dieser Einrichtungsanleitung auftreten können. Ich habe Lösungen bereitgestellt, in der Hoffnung, dass sie den Fehler beheben.

Ausführen des Programms "Discover KNX Servers" anstelle des Bus-Dumps

Stelle sicher, dass du alle Befehle genau so eingibst. Die Ausführung des Befehls mit "Dmainclass" führt dazu, dass das Programm standardmäßig das Programm "Discover KNX Servers" startet. Stelle sicher, dass es "DmainClass" ist.

Kann den Anfangszustand des TPUART-Ports nicht abrufen

Stelle sicher, dass KNXD (falls du es gemäß dieser Anleitung installiert hast) nicht läuft. Wenn du dieser Anleitung folgst, verwendet KNXD denselben Port, und nur ein Prozess kann den seriellen Port gleichzeitig nutzen.

Wireshark: "Can't initialize scanner: Unknown error"

Wenn du den Inhalt der Hex-Dump-Dateien von oben kopiert und eingefügt hast, fehlt möglicherweise ein zusätzliches Zeilenumbruchzeichen. Beispielsweise zeigt die GitHub-Darstellung in "SampleData1.txt" 4 Zeilen Daten an, während es tatsächlich 4 Zeilen Daten plus ein Zeilenumbruchzeichen sind. Eine mögliche Lösung ist, einfach nach dem letzten Datenbyte in der zu importierenden Datei die "Eingabetaste" zu drücken.

Beispielausgabe ausprobieren

In diesem Repository habe ich die Beispieldateidaten in Sample-KNXBusDump-Telegrams.txt bereitgestellt, die für die Screenshots verwendet wurden. Du kannst diese gerne in Wireshark importieren, um es selbst zu testen.

Testszenario

Das Tool wurde auf diesem lokalen KNX-Testbett getestet.

Tool herunterladen