Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
KNX-Bus-Dump — Un outil pour écouter un bus KNX via TPUART et la suite Calimero Project et pour extraire les données des paquets dans un fichier hex dump compatible Wireshark. | Kitploit
Outils/GitHubGitHub/chrism09/knx-bus-dump
Sniffing et Analyse de PaquetsSécurité IoTAnalyse ForensiqueSécurité RéseauCriminalistique NumériqueSécurité Matériel et IoT
GitHubchrism09/knx-bus-dump

KNX-Bus-Dump

Un outil pour écouter un bus KNX via TPUART et la suite Calimero Project et pour extraire les données des paquets dans un fichier hex dump compatible Wireshark.

Voir le dépôt
124il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Dump du bus KNX

KNX est un protocole populaire d'automatisation des bâtiments, utilisé pour interconnecter capteurs, actionneurs et autres composants d'un bâtiment intelligent. Notre outil KNX Bus Dump utilise la bibliothèque Java Calimero, à laquelle nous avons contribué pour cet outil, afin d'enregistrer les télégrammes envoyés sur un bus KNX. Plus particulièrement, notre outil accède au bus KNX via une connexion TPUART mais peut être modifié pour utiliser différents supports de connexion. Les télégrammes sont vidés dans un fichier hexadécimal compatible avec Wireshark. Les horodatages sont fournis et normalisés en temps UTC avec une précision de la nanoseconde pour effectuer une analyse des données et fournir une chronologie des télégrammes. Le fichier hexadécimal peut être importé dans Wireshark, qui peut être configuré pour disséquer les télégrammes KNX avec le dissecteur cEMI de Wireshark.

Notre outil peut être utilisé pour l'analyse de protocole des capteurs, actionneurs et autres dispositifs KNX. Par exemple, nous avons utilisé l'outil pour comprendre nos dispositifs KNX et avons trouvé des télégrammes KNX irréguliers. L'outil est également idéal pour l'analyse de sécurité des dispositifs KNX car il expose tous les détails du protocole impliqué et des données envoyées sur le bus KNX.

Tcpdump et Wireshark ne peuvent pas être utilisés pour vider les télégrammes envoyés sur un bus KNX car nous traitons de télégrammes KNX natifs, et non de paquets TCP/IP. Wireshark et tcpdump peuvent vider les paquets KNXnet/IP, qui sont des paquets TCP/IP. KNXnet/IP est un protocole pour envoyer des commandes et des données à un bus KNX via un réseau TCP/IP.

Prérequis

Cet outil est conçu pour fonctionner avec la bibliothèque Java Calimero et est compatible avec un Raspberry Pi 3 ou 4 et un Raspberry Pi HAT pour la connexion TPUART.

Voici quelques guides pour configurer l'environnement :

  1. Guide d'utilisation du KNX Raspberry PiHAT
  2. Configuration du Raspberry Pi et de la suite Calimero

Remarque : Les étapes suivantes supposent que vous avez configuré votre environnement selon ces guides.

Utilisation

Création du vidage hexadécimal

  1. Placez le fichier KNXBusDump.java dans le dossier introduction/src/main/java/ de la suite du projet Calimero.

  2. Déplacez-vous dans le dossier introduction.

  3. Pour exécuter le programme, lancez simplement :

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

    Reportez-vous au guide de dépannage ci-dessous pour quelques solutions aux erreurs courantes.

  4. Maintenant, attendez que des messages soient transmis sur le bus ; les télégrammes vidés se trouveront dans le fichier KNXBusDump-Telegrams.txt.

  5. Annulez l'outil avec Ctrl-C ; le fichier est maintenant prêt à être importé dans Wireshark pour être analysé.

Analyse du vidage hexadécimal

Dans Wireshark, vous avez la possibilité d'importer des paquets à partir d'un vidage hexadécimal et de spécifier un dissecteur pour analyser le paquet.

  1. Au démarrage de Wireshark, attendez la fin du chargement initial. Ensuite, cliquez sur Fichier -> Importer depuis un vidage hexadécimal...

  2. Pour analyser correctement cela, nous devons fournir une expression régulière (regex) avec quelques balises.

    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. Choisissez le fichier de vidage hexadécimal comme source.

  4. Dans la nouvelle boîte de dialogue, allez dans l'onglet Expression régulière et collez la regex dans la zone.

  5. Assurez-vous que l'encodage des données est Hexadécimal simple

  6. Dans la zone de texte Format d'horodatage, nous devons spécifier le modèle généré par l'outil.

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

    REMARQUE : Le format d'horodatage DOIT ÊTRE EXACTEMENT CELUI-CI. Sinon, aucun horodatage ne sera extrait.

  7. Dans la section Encapsulation, changez le Type d'encapsulation en Exportation PDU supérieure Wireshark.

  8. Cochez ExportPDU pour spécifier le dissecteur cemi.

  9. Vous êtes maintenant en mesure d'importer le fichier et d'analyser le télégramme.

Exemple de sortie

Horodatage Wireshark :

Fichier de vidage hexadécimal correspondant

Remarque : L'heure surlignée est l'HEURE UTC NORMALISÉE. Quel que soit le fuseau horaire indiqué à côté de l'heure, ce sera TOUJOURS la bonne heure en UTC.

Considérations :

  1. Le dissecteur cemi commence à la partie code de message (MC) du télégramme. Il ne prend pas en compte le type de support.
  2. La raison pour laquelle le TPCI est surligné en rouge est un choix de conception. Le dissecteur verra que le paquet est un paquet de données non numéroté (UDP), ce qui signifie que le numéro de séquence, selon la norme KNX, est généralement mis à 0. Cependant, certains dispositifs peuvent parfois le mettre à une valeur non nulle. Dans ce cas, il a été mis à 1. Le dissecteur vérifie alors si le numéro de séquence est zéro. Dans ce cas, il ne l'est pas, d'où le message d'erreur indiquant que le numéro de séquence devait être 0.

Guide de dépannage

Voici quelques erreurs courantes qui peuvent survenir lors de l'exécution de ce programme avec ce guide d'installation. J'ai fourni des solutions dans l'espoir qu'elles corrigent l'erreur.

Exécution du programme Découverte des serveurs KNX au lieu du vidage du bus

Assurez-vous de taper toutes les commandes exactement. L'exécution de la commande avec "Dmainclass" fera basculer le programme vers le programme Découverte des serveurs KNX. Assurez-vous que c'est "DmainClass"

Impossible d'obtenir l'état initial du port TPUART

Assurez-vous que KNXD (si vous l'avez installé selon ces guides) n'est pas en cours d'exécution. Si vous suivez ce guide, KNXD utilisera ce même port et un seul processus peut utiliser le port série à la fois.

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

Si vous avez copié-collé le contenu des fichiers de vidage hexadécimal ci-dessus, il se peut qu'il manque un caractère de nouvelle ligne supplémentaire. Par exemple, dans "SampleData1.txt", la représentation GitHub montre 4 lignes de données alors qu'en réalité il y a 4 lignes de données plus un caractère de nouvelle ligne. Une option possible est donc d'appuyer simplement sur "Entrée" après le dernier octet de données dans le fichier que vous importez.

Essayer un exemple de sortie

Dans ce dépôt, j'ai fourni les données de fichier exemple dans Sample-KNXBusDump-Telegrams.txt qui ont été utilisées pour créer les captures d'écran. N'hésitez pas à importer ce fichier dans Wireshark pour le tester vous-même.

Scénario de test

L'outil a été testé sur ce banc d'essai KNX local.

Télécharger l’outil