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
KNX-Bus-Dump — Uno strumento per ascoltare su un bus KNX tramite TPUART e la suite Calimero Project e per scaricare i dati dai pacchetti in un dump esadecimale di file compatibile con Wireshark. | Kitploit
Strumenti/GitHubGitHub/chrism09/knx-bus-dump
Sniffing e Analisi dei PacchettiSicurezza IoTInformatica ForenseSicurezza di ReteDigital ForensicsSicurezza Hardware e IoT
GitHubchrism09/knx-bus-dump

KNX-Bus-Dump

Uno strumento per ascoltare su un bus KNX tramite TPUART e la suite Calimero Project e per scaricare i dati dai pacchetti in un dump esadecimale di file compatibile con Wireshark.

Vedi Repository
12454 anni faNon ancora revisionato

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

KNX Bus Dump

KNX è un popolare protocollo di automazione degli edifici e viene utilizzato per interconnettere sensori, attuatori e altri componenti di un edificio intelligente. Il nostro strumento KNX Bus Dump utilizza la libreria Java Calimero, alla quale abbiamo contribuito per questo strumento, per registrare i telegrammi inviati su un bus KNX. In particolare, il nostro strumento accede al bus KNX attraverso una connessione TPUART, ma può essere modificato per utilizzare diversi mezzi di connessione. I telegrammi vengono riversati in un file di dump esadecimale compatibile con Wireshark. I timestamp vengono forniti e normalizzati al tempo UTC con precisione al nanosecondo per eseguire analisi dei dati e fornire una cronologia dei telegrammi. Il file di dump esadecimale può essere importato in Wireshark, che può essere configurato per dissezionare i telegrammi KNX con il dissector cEMI di Wireshark.

Il nostro strumento può essere utilizzato per l'analisi del protocollo di sensori, attuatori e altri dispositivi KNX. Ad esempio, abbiamo utilizzato lo strumento per comprendere i nostri dispositivi KNX e abbiamo trovato telegrammi KNX irregolari. Lo strumento è anche ideale per l'analisi di sicurezza dei dispositivi KNX, poiché espone tutti i dettagli del protocollo coinvolto e dei dati inviati sul bus KNX.

Tcpdump e Wireshark non possono essere utilizzati per effettuare il dump dei telegrammi inviati su un bus KNX poiché abbiamo a che fare con telegrammi KNX nativi, non con pacchetti TCP/IP. Wireshark e tcpdump possono effettuare il dump dei pacchetti KNXnet/IP, che sono pacchetti TCP/IP. KNXnet/IP è un protocollo per inviare comandi e dati a un bus KNX su una rete TCP/IP.

Prerequisiti

Questo strumento è progettato per funzionare con la libreria Java Calimero ed è compatibile con un Raspberry Pi 3 o 4 e un HAT Raspberry Pi per la connessione TPUART.

Ecco alcune guide per preparare l'ambiente:

  1. Guida all'utilizzo del Raspberry Pi HAT per KNX
  2. Configurazione di Raspberry Pi e Calimero Suite

Nota: I passaggi successivi presuppongono che tu abbia configurato il tuo ambiente secondo queste guide.

Utilizzo

Creazione del dump esadecimale

  1. Posiziona il file KNXBusDump.java nella cartella introduction/src/main/java/ del progetto Calimero Suite.

  2. Entra nella cartella introduction.

  3. Per eseguire il programma, puoi semplicemente lanciare:

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

    Fai riferimento alla guida alla risoluzione dei problemi qui sotto per alcune soluzioni agli errori comuni.

  4. Ora attendi che alcuni messaggi vengano trasmessi sul bus e i telegrammi dumpati saranno nel file KNXBusDump-Telegrams.txt.

  5. Termina lo strumento con Ctrl-C e il file è ora pronto per essere importato in Wireshark per l'analisi.

Analisi del dump esadecimale

In Wireshark hai la possibilità di importare pacchetti da un dump esadecimale e specificare un dissector per analizzare il pacchetto.

  1. All'avvio di Wireshark, attendi il completamento del caricamento iniziale. Quindi fai clic su File -> Importa da dump esadecimale...

  2. Per analizzare correttamente questo, dobbiamo fornire un'espressione regolare (regex) con alcuni tag.

    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. Seleziona il file di dump esadecimale come origine.

  4. Nella nuova finestra di dialogo, passa alla scheda Espressione regolare e incolla la regex nella casella.

  5. Assicurati che la codifica dei dati sia Hex semplice 200*16

  6. Nella casella di testo Formato timestamp, dobbiamo specificare il pattern generato dallo strumento.

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

    NOTA: Il formato del timestamp DEVE essere ESATTAMENTE QUESTO. Altrimenti, non verrà estratto alcun timestamp.

  7. Nella sezione Incapsulamento, cambia Tipo di incapsulamento in Wireshark Upper PDU Export.

  8. Spunta ExportPDU per specificare il dissector cemi.

  9. Ora puoi importare il file e analizzare il telegramma.

Output di esempio

Timestamp di Wireshark:

File di dump esadecimale corrispondente

Nota: L'ora evidenziata è il TEMPO UTC NORMALIZZATO. Indipendentemente dal fuso orario indicato accanto all'ora, sarà SEMPRE l'ora corretta in UTC.

Considerazioni:

  1. Il dissector cemi inizia dalla porzione del codice del messaggio (MC) del telegramma. Non tiene conto del tipo di mezzo.
  2. Il motivo per cui il TPCI è evidenziato in rosso è una scelta progettuale. Il dissector vede che il pacchetto è un Unnumbered Data Packet (UDP), il che significa che il numero di sequenza, secondo lo standard KNX, è solitamente impostato a 0. Tuttavia, a volte alcuni dispositivi lo impostano a un valore diverso da zero. In questo caso, era impostato a 1. Il dissector controlla quindi se il numero di sequenza è zero. In questo caso non lo è, quindi viene visualizzato il messaggio di errore per il numero di sequenza che ci si aspetta essere 0.

Guida alla risoluzione dei problemi

Questi sono alcuni errori comuni che possono verificarsi quando si esegue questo programma con questa guida. Ho fornito soluzioni nella speranza che risolvano l'errore.

Esecuzione del programma Discover KNX Servers invece del Bus Dump

Assicurati di digitare esattamente tutti i comandi. Eseguire il comando con "Dmainclass" farà sì che il programma utilizzi come predefinito il programma Discover KNX Servers. Assicurati che sia "DmainClass"

Impossibile ottenere lo stato iniziale della porta TPUART

Assicurati che KNXD (se lo hai installato secondo queste guide) non sia in esecuzione. Se segui questa guida, KNXD utilizzerà la stessa porta e solo un processo può utilizzare la porta seriale alla volta.

Wireshark: "Impossibile inizializzare lo scanner: errore sconosciuto"

Se hai copiato e incollato il contenuto dei file di dump esadecimale da sopra, potrebbe mancare un carattere di nuova riga extra. Ad esempio, in "SampleData1.txt", la rappresentazione su GitHub mostra 4 righe di dati quando in realtà sono 4 righe di dati più un carattere di nuova riga. Quindi una possibile opzione è premere semplicemente "Invio" dopo l'ultimo byte di dati nel file che stai importando.

Provare l'output di esempio

In questo repository ho fornito i dati di esempio nel file Sample-KNXBusDump-Telegrams.txt che è stato utilizzato per creare gli screenshot. Sentiti libero di importarlo in Wireshark per testarlo tu stesso.

Scenario di test

Lo strumento è stato testato su questo banco di prova KNX locale.

Scarica lo strumento