Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/chrism09/knx-bus-dump
Sniffing y Análisis de PaquetesSeguridad IoTAnálisis ForenseSeguridad de RedesForensia DigitalSeguridad de Hardware e IoT
GitHubchrism09/knx-bus-dump

KNX-Bus-Dump

Una herramienta para escuchar en un bus KNX a través de TPUART y la suite Calimero Project y volcar los datos de los paquetes a un volcado hexadecimal de archivo compatible con Wireshark.

Ver Repositorio
1245hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

KNX Bus Dump

KNX es un protocolo popular de automatización de edificios y se utiliza para interconectar sensores, actuadores y otros componentes de un edificio inteligente. Nuestra herramienta KNX Bus Dump utiliza la biblioteca Java Calimero, a la que contribuimos para esta herramienta, para registrar los telegramas enviados a través de un bus KNX. En particular, nuestra herramienta accede al bus KNX a través de una conexión TPUART, pero se puede modificar para usar diferentes medios de conexión. Los telegramas se vuelcan en un archivo de volcado hexadecimal compatible con Wireshark. Las marcas de tiempo se proporcionan y se normalizan a la hora UTC con precisión de nanosegundos para realizar análisis de datos y proporcionar una línea de tiempo de los telegramas. El archivo de volcado hexadecimal se puede importar a Wireshark, el cual se puede configurar para analizar los telegramas KNX con el disector cEMI de Wireshark.

Nuestra herramienta se puede utilizar para el análisis de protocolos de sensores, actuadores y otros dispositivos KNX. Por ejemplo, usamos la herramienta para entender nuestros dispositivos KNX y encontramos telegramas KNX irregulares. La herramienta también es ideal para el análisis de seguridad de dispositivos KNX, ya que expone todos los detalles del protocolo involucrado y los datos enviados a través del bus KNX.

Tcpdump y Wireshark no se pueden usar para volcar telegramas enviados a través de un bus KNX, ya que estamos tratando con telegramas KNX nativos, no con paquetes TCP/IP. Wireshark y tcpdump pueden volcar paquetes KNXnet/IP, que son paquetes TCP/IP. KNXnet/IP es un protocolo para enviar comandos y datos a un bus KNX a través de una red TCP/IP.

Prerrequisitos

Esta herramienta está diseñada para funcionar con la biblioteca Java Calimero y es compatible con una Raspberry Pi 3 o 4 y un HAT de Raspberry Pi para la conexión TPUART.

Aquí hay algunas guías para configurar el entorno:

  1. Guía de uso del HAT KNX para Raspberry Pi
  2. Configuración de Raspberry Pi y Calimero Suite

Nota: Los siguientes pasos asumirán que configuró su entorno de acuerdo con estas guías.

Uso

Creación del volcado hexadecimal

  1. Coloque el archivo KNXBusDump.java en la carpeta introduction/src/main/java/ del proyecto Calimero Suite.

  2. Cambie a la carpeta introduction.

  3. Para ejecutar el programa, simplemente ejecute:

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

    Consulte la guía de solución de problemas a continuación para algunas soluciones de errores comunes.

  4. Ahora, espere a que se transmitan algunos mensajes en el bus y los telegramas volcados estarán en el archivo KNXBusDump-Telegrams.txt.

  5. Cancele la herramienta usando Ctrl-C y el archivo ahora está listo para ser importado a Wireshark para su análisis.

Análisis del volcado hexadecimal

En Wireshark, tiene la capacidad de importar paquetes desde un volcado hexadecimal y especificar un disector para analizar el paquete.

  1. Al iniciar Wireshark, espere a que termine la carga inicial. Luego haga clic en Archivo -> Importar desde volcado hexadecimal...

  2. Para analizar esto correctamente, necesitamos proporcionar una expresión regular (regex) con algunas etiquetas.

    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. Elija el archivo de volcado hexadecimal como fuente.

  4. En el nuevo diálogo, cambie a la pestaña Expresión regular y pegue la regex en el cuadro.

  5. Asegúrese de que la codificación de datos sea Hex plano 200*16

  6. En el cuadro de texto Formato de marca de tiempo, debemos especificar el patrón generado por la herramienta.

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

    NOTA: El formato de marca de tiempo DEBE ser EXACTAMENTE IGUAL a este. De lo contrario, no se analizará la marca de tiempo.

  7. En la sección Encapsulación, cambie Tipo de encapsulación a Exportación PDU superior de Wireshark.

  8. Marque ExportPDU para especificar el disector cemi.

  9. Ahora puede importar el archivo y analizar el telegrama.

Salida de muestra

Marca de tiempo de Wireshark:

Archivo de volcado hexadecimal correspondiente

Nota: La hora resaltada es la HORA UTC NORMALIZADA. Sin importar la zona horaria que se muestre junto a la hora, SIEMPRE será la hora correcta en UTC.

Consideraciones:

  1. El disector cemi comienza en la parte del código de mensaje (MC) del telegrama. No tiene en cuenta el tipo de medio.
  2. La razón por la que TPCI está resaltado en rojo es por una elección de diseño. El disector verá que el paquete es un Paquete de Datos No Numerado (UDP), lo que significa que el número de secuencia, según el estándar KNX, normalmente se establece en 0. Sin embargo, a veces algunos dispositivos lo establecen en un valor distinto de cero. En este caso, se estableció en 1. El disector verificará si el número de secuencia es cero. En este caso no lo es, por lo tanto, el mensaje de error indica que se esperaba que el número de secuencia fuera 0.

Guía de solución de problemas

Estos son algunos errores comunes que pueden ocurrir al ejecutar este programa con esta guía de configuración. He proporcionado soluciones con la esperanza de que solucionen el error.

Ejecutar el programa Discover KNX Servers en lugar del Bus Dump

Asegúrese de escribir todos los comandos exactamente. Ejecutar el comando con "Dmainclass" hará que el programa use por defecto el programa Discover KNX Servers. Asegúrese de que sea "DmainClass"

No se puede obtener el estado inicial del puerto TPUART

Asegúrese de que KNXD (si lo tiene instalado según estas guías) no esté en ejecución. Si sigue esta guía, entonces KNXD estará usando ese mismo puerto y solo un proceso puede usar el puerto serie a la vez.

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

Si copió y pegó el contenido de los archivos de volcado hexadecimal de arriba, podría faltar un carácter de nueva línea adicional. Por ejemplo, en "SampleData1.txt", la representación de GitHub muestra 4 líneas de datos cuando en realidad son 4 líneas de datos más un carácter de nueva línea. Por lo tanto, una posible opción es simplemente presionar "Enter" después del último byte de datos en el archivo que está importando.

Probando la salida de muestra

En este repositorio, he proporcionado los datos de archivo de muestra en Sample-KNXBusDump-Telegrams.txt que se usaron para crear las capturas de pantalla. No dude en importarlos a Wireshark para probarlo usted mismo.

Escenario de prueba

La herramienta fue probada en este banco de pruebas KNX local.

Descargar herramienta