Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
KNX-Bus-Dump — Uma ferramenta para escutar em um barramento KNX via TPUART e a suite Calimero Project e para despejar os dados dos pacotes em um dump hexadecimal de arquivo compatível com Wireshark. | Kitploit
Ferramentas/GitHubGitHub/chrism09/knx-bus-dump
Sniffing e Análise de PacotesSegurança IoTAnálise ForenseSegurança de RedeForensia DigitalSegurança de Hardware e IoT
GitHubchrism09/knx-bus-dump

KNX-Bus-Dump

Uma ferramenta para escutar em um barramento KNX via TPUART e a suite Calimero Project e para despejar os dados dos pacotes em um dump hexadecimal de arquivo compatível com Wireshark.

Ver Repositório
124há 4 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Dump do Barramento KNX

KNX é um protocolo popular de automação predial e é usado para interconectar sensores, atuadores e outros componentes de um edifício inteligente. Nossa ferramenta KNX Bus Dump utiliza a biblioteca Java Calimero, para a qual contribuímos para o desenvolvimento desta ferramenta, para gravar os telegramas enviados por um barramento KNX. Particularmente, nossa ferramenta acessa o barramento KNX através de uma conexão TPUART, mas pode ser alterada para usar diferentes meios de conexão. Os telegramas são despejados em um arquivo de hex dump compatível com o Wireshark. Os timestamps são fornecidos e normalizados para o horário UTC com precisão de nanossegundos para realizar análise de dados e fornecer uma linha do tempo dos telegramas. O arquivo de hex dump pode ser importado para o Wireshark, que pode ser configurado para dissecar os telegramas KNX com o dissecador cEMI do Wireshark.

Nossa ferramenta pode ser usada para análise de protocolo de sensores, atuadores e outros dispositivos KNX. Por exemplo, usamos a ferramenta para entender nossos dispositivos KNX e encontramos telegramas KNX irregulares. A ferramenta também é ideal para análise de segurança de dispositivos KNX, pois expõe todos os detalhes do protocolo envolvido e dos dados enviados pelo barramento KNX.

Tcpdump e Wireshark não podem ser usados para despejar telegramas enviados por um barramento KNX, pois estamos lidando com telegramas KNX nativos, não com pacotes TCP/IP. O Wireshark e o tcpdump podem despejar pacotes KNXnet/IP, que são pacotes TCP/IP. KNXnet/IP é um protocolo para enviar comandos e dados para um barramento KNX através de uma rede TCP/IP.

Pré-requisitos

Esta ferramenta foi projetada para funcionar com a biblioteca Java Calimero e é compatível com um Raspberry Pi 3 ou 4 e um Raspberry Pi HAT para a conexão TPUART.

Aqui estão alguns guias para configurar o ambiente:

  1. Guia de uso do KNX Raspberry PiHAT
  2. Configuração do Raspberry Pi e do Calimero Suite

Nota: As próximas etapas presumirão que você configurou seu ambiente de acordo com esses guias.

Uso

Criando o Hex Dump

  1. Coloque o arquivo KNXBusDump.java na pasta introduction/src/main/java/ do suite do projeto Calimero.

  2. Entre na pasta introduction.

  3. Para executar o programa, basta executar:

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

    Consulte o guia de solução de problemas abaixo para algumas soluções de erros comuns.

  4. Agora, aguarde algumas mensagens serem transmitidas no barramento e os telegramas despejados estarão no arquivo KNXBusDump-Telegrams.txt.

  5. Cancele a ferramenta usando Ctrl-C e o arquivo estará pronto para ser importado no Wireshark para análise.

Analisando o Hex Dump

No Wireshark, você tem a capacidade de importar pacotes de um hex dump e especificar um dissecador para analisar o pacote.

  1. Ao iniciar o Wireshark, aguarde o carregamento inicial terminar. Em seguida, clique em File -> Import From Hex Dump...

  2. Para fazer o parsing corretamente, precisamos fornecer uma expressão regular (regex) com algumas tags.

    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. Escolha o arquivo hex dump como fonte.

  4. No novo diálogo, vá para a guia Regular Expression e cole a regex na caixa.

  5. Certifique-se de que a codificação dos dados é Plain hex 200*16

  6. Na caixa de texto Timestamp format, precisamos especificar o padrão gerado pela ferramenta.

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

    OBSERVAÇÃO: O formato do timestamp DEVE ser EXATAMENTE IGUAL a este. Caso contrário, não haverá um timestamp parseado.

  7. Na seção Encapsulation, altere Encapsulation Type para Wireshark Upper PDU Export.

  8. Marque ExportPDU para especificar o dissecador cemi.

  9. Agora você pode importar o arquivo e analisar o telegrama.

Exemplo de Saída

Timestamp do Wireshark:

Arquivo Hex Dump Correspondente

Nota: O tempo destacado é o TEMPO UTC NORMALIZADO. Não importa qual fuso horário esteja ao lado do horário, ele será SEMPRE o horário correto em UTC.

Considerações:

  1. O dissecador cemi começa na parte do código de mensagem (MC) do telegrama. Ele não leva em consideração o tipo de meio.
  2. A razão pela qual o TPCI está destacado em vermelho é devido a uma escolha de design. O dissecador verá que o pacote é um Unnumbered Data Packet (UDP), o que significa que o número de sequência, de acordo com o padrão KNX, é geralmente definido como 0. No entanto, às vezes alguns dispositivos definem isso para um valor diferente de zero. Neste caso, foi definido como 1. O dissecador então verificará se o número de sequência é zero. Neste caso não é, portanto a mensagem de erro para o número de sequência esperando ser 0.

Guia de Solução de Problemas

Estes são alguns erros comuns que podem ocorrer ao executar este programa com este guia de configuração. Forneci soluções na esperança de corrigir o erro.

Executando o programa Discover KNX Servers em vez do Bus Dump

Certifique-se de digitar todos os comandos exatamente. Executar o comando com "Dmainclass" fará com que o programa use o padrão do programa Discover KNX Servers. Certifique-se de que seja "DmainClass"

Não é possível obter o estado inicial da porta TPUART

Certifique-se de que o KNXD (se você o tiver instalado de acordo com esses guias) não está em execução. Se estiver seguindo este guia, o KNXD estará usando a mesma porta e apenas um processo pode usar a porta serial por vez.

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

Se você copiou e colou o conteúdo dos arquivos hex dump acima, pode estar faltando um caractere de nova linha extra. Por exemplo, em "SampleData1.txt", a representação do github mostra 4 linhas de dados quando na realidade são 4 linhas de dados mais um caractere de nova linha. Então, uma opção possível é simplesmente pressionar 'Enter' após o último byte de dados no arquivo que você está importando.

Testando a saída de exemplo

Neste repositório, forneci os dados do arquivo de exemplo em Sample-KNXBusDump-Telegrams.txt que foram usados para criar as capturas de tela. Sinta-se à vontade para importar isso no Wireshark para testar você mesmo.

Cenário de teste

A ferramenta foi testada neste testbed KNX local.

Baixar ferramenta