Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
KNX-Bus-Dump — TPUARTおよびCalimero Projectスイートを介してKNXバスをリッスンし、パケットのデータをWireshark互換のファイルhexダンプにダンプするツール。 | Kitploit
ツール/GitHubGitHub/chrism09/knx-bus-dump
パケットスニッフィングと分析IoTセキュリティフォレンジックネットワークセキュリティデジタルフォレンジックハードウェアとIoTセキュリティ
GitHubchrism09/knx-bus-dump

KNX-Bus-Dump

TPUARTおよびCalimero Projectスイートを介してKNXバスをリッスンし、パケットのデータをWireshark互換のファイルhexダンプにダンプするツール。

リポジトリを見る
1244年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

KNX バスダンプ

KNX は、ビルオートメーションプロトコルとして広く利用されており、スマートビルのセンサー、アクチュエーター、その他のコンポーネントを相互接続するために使用されます。当社の KNX バスダンプツールは、このツールのためにコントリビュートした Calimero Java ライブラリを使用して、KNX バス上で送信されるテレグラムを記録します。特に、このツールは TPUART 接続を介して KNX バスにアクセスしますが、異なる接続メディアを使用するように変更することも可能です。テレグラムは Wireshark 互換の16進ダンプファイルにダンプされます。タイムスタンプは UTC 時間に正規化され、ナノ秒精度で提供されるため、データ分析やテレグラムのタイムライン作成が可能です。この16進ダンプファイルは Wireshark にインポートでき、Wireshark の cEMI ディセクタで KNX テレグラムを解析するように設定できます。

当ツールは、KNX センサー、アクチュエーター、その他の KNX デバイスのプロトコル解析に使用できます。例えば、当社ではこのツールを使って KNX デバイスを理解し、不規則な KNX テレグラムを発見しました。また、このツールは KNX バス上で送信される関連プロトコルとデータの詳細をすべて明らかにするため、KNX デバイスのセキュリティ解析にも最適です。

Tcpdump と Wireshark は KNX バス上で送信されるテレグラムのダンプには使用できません。これは、我々が TCP/IP パケットではなくネイティブな KNX テレグラムを扱っているためです。Wireshark と tcpdump は KNXnet/IP パケット(TCP/IP パケット)をダンプできます。KNXnet/IP は、TCP/IP ネットワーク経由で KNX バスにコマンドやデータを送信するためのプロトコルです。

前提条件

このツールは Calimero Java ライブラリと連携するように設計されており、Raspberry Pi 3 または 4、および TPUART 接続用の Raspberry Pi HAT と互換性があります。

環境をセットアップするためのガイドを以下に示します。

  1. KNX Raspberry PiHAT 使用法チュートリアル
  2. Raspberry Pi と Calimero Suite のセットアップ

注: 以下の手順では、これらのガイドに従って環境をセットアップしたことを前提とします。

使用方法

16進ダンプの作成

  1. KNXBusDump.java ファイルを Calimero プロジェクトスイートの introduction/src/main/java/ フォルダに配置します。

  2. introduction フォルダに移動します。

  3. プログラムを実行するには、次のコマンドを実行するだけです。

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

    一般的なエラーの解決策については、以下の トラブルシューティング ガイドを参照してください。

  4. バス上でメッセージが送信されるのを待ち、ダンプされたテレグラムは KNXBusDump-Telegrams.txt ファイルに保存されます。

  5. Ctrl-C でツールを停止すると、ファイルが Wireshark にインポートして解析できる状態になります。

16進ダンプの解析

Wireshark では、16進ダンプからパケットをインポートし、ディセクタを指定してパケットを解析できます。

  1. Wireshark を起動したら、初期読み込みが完了するまで待ちます。次に、File -> Import From Hex Dump... をクリックします。

  2. これを正しく解析するには、タグ付きの正規表現(regex)を指定する必要があります。

    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. ソースとして16進ダンプファイルを選択します。

  4. 新しいダイアログで、Regular Expression タブに切り替え、上記の正規表現をボックスに貼り付けます。

  5. データエンコーディングが Plain hex であることを確認します。

  6. Timestamp format テキストボックスには、ツールで生成されるパターンを指定する必要があります。

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

    注: タイムスタンプ形式は、これと完全に同じでなければなりません。そうでないと、タイムスタンプは解析されません。

  7. Encapsulation セクションで、Encapsulation Type を Wireshark Upper PDU Export に変更します。

  8. ExportPDU をチェックして、cemi ディセクタを指定します。

  9. これでファイルをインポートしてテレグラムを解析できます。

サンプル出力

Wireshark のタイムスタンプ:

対応する16進ダンプファイル

注: ハイライト表示された時間は、正規化された UTC 時間です。時刻の横に表示されるタイムゾーンに関係なく、常に UTC での正しい時刻です。

注意点:

  1. cemi ディセクタは、テレグラムのメッセージコード(MC)部分から開始します。メディアタイプは考慮されません。
  2. TPCI が赤くハイライト表示される理由は設計上の選択によるものです。ディセクタはパケットが Unnumbered Data Packet (UDP) であると認識し、KNX 標準ではシーケンス番号は通常 0 に設定されます。ただし、デバイスによってはゼロ以外の値に設定される場合があります。この場合、1 に設定されていました。ディセクタはシーケンス番号がゼロかどうかをチェックします。このケースではゼロではないため、シーケンス番号が 0 であることを期待するエラーメッセージが表示されます。

トラブルシューティングガイド

以下は、このセットアップガイドに従ってプログラムを実行する際に発生する可能性のある一般的なエラーと、その解決策です。

Discover KNX Servers プログラムが起動する(Bus Dump ではなく)

コマンドを正確に入力していることを確認してください。"Dmainclass" と入力すると、デフォルトの Discover KNX Servers プログラムが実行されます。"DmainClass" と正しく入力してください。

TPUART ポートの初期状態を取得できない

KNXD(このガイドに従ってインストールした場合)が実行されていないことを確認してください。このガイドに従うと、KNXD が同じポートを使用するため、シリアルポートは一度に1つのプロセスのみが使用できます。

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

上記の16進ダンプファイルの内容をコピー&ペーストした場合、追加の改行文字が不足している可能性があります。例えば、"SampleData1.txt" では、GitHub 上の表示は4行のデータですが、実際は4行のデータに加えて改行文字があります。そのため、インポートするファイルのデータの最後のバイトの後に "Enter" キーを押すだけで解決する場合があります。

サンプル出力の試用

このリポジトリには、スクリーンショットを作成するために使用したサンプルファイルデータを Sample-KNXBusDump-Telegrams.txt として提供しています。これを Wireshark にインポートして、ご自身でテストしてみてください。

テストシナリオ

このツールは、以下のローカル KNX テストベッドでテストされました。

ツールをダウンロード