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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dump1090 — Dump1090は、RTLSDRデバイス向けのシンプルなMode Sデコーダです。 | Kitploit
ツール/GitHubGitHub/antirez/dump1090
組み込みシステムセキュリティネットワークマッピング情報収集ワイヤレスセキュリティユーティリティとフレームワークハードウェアとIoTセキュリティ
GitHubantirez/dump1090

dump1090

Dump1090は、RTLSDRデバイス向けのシンプルなMode Sデコーダです。

リポジトリを見る
2.9k1.4k6ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Dump1090 リードミー

Dump1090 は、RTLSDR デバイス向けに特別に設計された Mode S デコーダです。

主な機能は次のとおりです。

  • 弱いメッセージの堅牢なデコード:Dump1090 を使用すると、多くのユーザーが他の一般的なデコーダと比較して改善された範囲を観測しました。
  • ネットワークサポート:TCP30003 ストリーム(MSG5...)、Raw パケット、HTTP。
  • Google マップ上で現在検出された航空機を表示する組み込み HTTP サーバー。
  • 24 ビット CRC を使用した単一ビットエラーの修正。
  • DF11、DF17 メッセージのデコード機能。
  • チェックサムが ICAO アドレスと XOR される DF0、DF4、DF5、DF16、DF20、DF21 などの DF フォーマットを、最近見られた ICAO アドレスを使用してチェックサムフィールドをブルートフォースすることでデコードする機能。
  • ファイルからの生 IQ サンプルのデコード(--ifile コマンドラインスイッチを使用)。
  • 対話型コマンドラインインターフェースモード:現在検出されている航空機が、より多くのデータが到着するにつれて更新されるリストとして表示されます。
  • CPR 座標のデコードと速度からの軌跡計算。
  • 地上の航空機(タキシングなど)の表面位置デコード。
  • 接続されたクライアントとの間で生データをストリーミングおよび受信する TCP サーバー(--net を使用)。

私自身のフォークに時々機能を追加・修正していますが、実装のミニマリズムを目標としています。ただし、MalcolmRobb によって開発されたより機能が充実したフォークも利用可能です。

インストール

「make」と入力します。

通常の使用方法

RTL デバイスから直接トラフィックをキャプチャして標準出力に表示するには、オプションなしでプログラムを実行するだけです。

root@kitploit:~
./dump1090

16 進数メッセージのみを出力する場合:

root@kitploit:~
./dump1090 --raw

対話型モードでプログラムを実行する場合:

root@kitploit:~
./dump1090 --interactive

対話型モードでネットワークサポートを有効にし、ブラウザで http://localhost:8080 に接続してライブトラフィックを表示する場合:

root@kitploit:~
./dump1090 --interactive --net

対話型モードでは、情報密度は低くなりますが、より「アーケードスタイル」の出力が可能です。画面は 1 秒ごとに更新され、最近検出されたすべての航空機が、受信した Mode S パケットから抽出された高度や便名などの追加情報とともに表示されます。

データソースとしてファイルを使用する

ファイルからデータをデコードするには、次を使用します。

root@kitploit:~
./dump1090 --ifile /path/to/binfile

バイナリファイルは、次のように rtl_sdr を使用して作成する必要があります(または 2MHz サンプルレートで 8 ビット符号なし IQ サンプルを出力できる他のプログラムを使用)。

root@kitploit:~
rtl_sdr -f 1090000000 -s 2000000 -g 50 output.bin

この例では rtl_sdr でゲイン 50 を使用していますが、チューナーで利用可能な最高のゲインを使用する必要があります。Dump1090 自体を呼び出す場合、サポートされている最高のゲインを自動的に選択するため、これは必要ありません。

--ifile オプションに "-" を引数として使用することで、標準入力からプログラムにデータを供給することも可能です。

追加オプション

Dump1090 は、別のゲインや周波数などを設定するために、他のコマンドラインオプションを指定して呼び出すことができます。オプションのリストについては、次を使用します。

root@kitploit:~
./dump1090 --help

ここに文書化されていないものはすべて明白であり、ほとんどのユーザーにとっては引数なしで呼び出すことが最善です。

信頼性

デフォルトでは、Dump1090 は CRC チェックサムを使用してビットエラーの修正を試みます。このプログラムは、事前計算されたシンドロームテーブルを使用して、受信メッセージ内の最大 2 ビットのエラーを迅速に識別して修正します。

これは実際にエラーを修正でき、私の経験では確実に動作しますが、非常に信頼性の高いデータが必要な場合は、--no-fix コマンドラインスイッチを使用してエラー修正を無効にすることをお勧めします。

検出のパフォーマンスと感度

私の限られた経験では、Dump1090 は他のプログラムで問題が発生した状況でも多数のメッセージをデコードできましたが、正式なテストは行われていないため、このプログラムが他の同様のプログラムよりも優れているか劣っているかを実際に主張することはできません。

Dump1090 が適切にデコードできないトラフィックをキャプチャできる場合は、ダウンロードリンクを記載してメールをお送りください。空き時間に検出の改善を試みるかもしれません(これは単なる趣味のプロジェクトです)。

表面位置デコード

Dump1090 は、航空機が地上にいるとき(タキシング、ゲート待機など)に送信される表面位置メッセージ(タイプコード 5-8)をデコードできます。これらのメッセージには、航空機の位置、対地速度、対地軌跡が含まれます。

表面位置は空中位置とは異なるエンコーディングを使用します。CPR(Compact Position Reporting)フォーマットは 360 度ではなく 90 度のみをカバーし、曖昧さなくデコードするには 45 海里以内の参照位置が必要です。

受信機の位置を手動で設定する必要はなく、Dump1090 は正常にデコードされたすべての空中位置を平均化することで参照位置を自動的に計算します。これは、空港の表面トラフィックを受信できる場合、ほぼ確実に空中トラフィックも受信できるためです。上空を通過する航空機の平均位置は、表面位置をデコードするのに十分近い(45 NM 要件を十分に満たす)参照を提供します。

注:表面位置は、参照を確立するために少なくとも 1 つの空中位置が正常にデコードされた後にのみ表示されます。地上の航空機は、対話型表示で高度 0 として表示されます。

ネットワークサーバー機能

--net でネットワークサポートを有効にすると、Dump1090 はポート 30002 および 30001 でクライアント接続を待機し始めます(必要に応じて両方のポートを変更できます。--help 出力を参照してください)。

ポート 30002

接続されたクライアントには、デバイス(または --ifile 使用時はファイル)から到着したデータが、次のような生フォーマットで ASAP で提供されます。

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

各エントリは単純な改行(LF 文字、16 進数 0x0A)で区切られます。

ポート 30001

ポート 30001 は生入力ポートであり、上記と同じフォーマット(16 進メッセージが * で始まり ; で終わる)で Dump1090 にデータを供給するために使用できます。

たとえば、別のリモート Dump1090 インスタンスがデータを収集している場合、次のように出力をローカルの Dump1090 インスタンスに集約できます。

root@kitploit:~
nc remote-dump1090.example.net 30002 | nc localhost 30001

ポート 30001 で受信したものは、ポート 30002 をリッスンしているクライアントにもブロードキャストされることに注意してください。

一般に、ポート 30001 から受信したものはすべて、--ifile 使用時の RTL デバイスまたはファイルからの通常のトラフィックとまったく同じように処理されます。

Dump1090 を単なるハブとして使用することも可能です。次の例のように、--ifile に /dev/zero を引数として使用します。

root@kitploit:~
./dump1090 --net-only

または、画面で何が起こっているかを確認するには、次のようにします。

root@kitploit:~
./dump1090 --net-only --interactive

その後、インターネット上のさまざまなデータソースからデータを供給できます。

ポート 30003

接続されたクライアントには、次のような SBS1(BaseStation)フォーマットのメッセージが提供されます。

root@kitploit:~
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0

これは、別のデコーダを使用せずにさまざまな共有サイトにデータを供給するために使用できます。

アンテナ

Mode S メッセージは 1090 MHz の周波数で送信されます。適切なアンテナがあれば、特に屋外で空の見通しが良い場所では、かなり遠くの航空機からの信号を受信できます。

次の指示に従って、非常に安価なアンテナを簡単に構築できます。

root@kitploit:~
http://antirez.com/news/46

この簡単なアンテナで、200 km 以上離れた航空機の信号を受信できました。

より本格的なアンテナに興味がある場合は、以下のリソースを確認してください。

  • http://gnuradio.org/data/grcon11/06-foster-adsb.pdf
  • http://www.lll.lu/~edward/edward/adsb/antenna/ADSBantenna.html
  • http://modesbeast.com/pix/adsb-ant-drawing.gif

アグレッシブモード

--aggressive を使用すると、アグレッシブモード を有効にできます。これは Mode S パケット検出およびデコードの修正版です。アグレッシブモードでは通常より多くの CPU を使用します(特に DF17 パケットを送信する航空機が多い場合)が、さらにいくつかのメッセージを検出できます。

アグレッシブモードのアルゴリズムは次のように変更されています。

  • 最大 2 つの復調エラー(マグニチュードベクトル内で同じ高さの隣接エントリ)が許容されます。通常はエラーのないメッセージのみがチェックされます。
  • すべての 2 ビットの組み合わせを試行して DF17 メッセージの修正を試みます。

アグレッシブモードの使用は、トラフィックが少ない場所でのみ推奨され、さらにいくつかのメッセージをキャプチャする可能性があります。

デバッグモード

デバッグモードは、検出アルゴリズムを改善したり、特定の入力に対してプログラムが機能しない理由を理解したりするための視覚的な補助です。

このモードでは、メッセージがアスキーアートスタイルのグラフィカル表現で表示され、2MHz でサンプリングされた個々のマグニチュードバーが表示されます。

インデックスにはサンプル番号が表示され、0 は最初の Mode S ピークが見つかったサンプルです。いくつかの背景ノイズも最初のピークの前に追加され、コンテキストを提供します。

デバッグモードを有効にして、ログできるパケットの組み合わせを確認するには、dump1090 --help を使用して利用可能なデバッグフラグのリストを取得してください。

デバッグモードには、Web ブラウザを使用してパケットを視覚化するためのオプションの JavaScript 出力が含まれています。'tools' ディレクトリの debug.html ファイルを使用して、生成された frames.js ファイルをロードできます。

このプログラムはどのように動作しますか?

コードは非常によく文書化されており、理解しやすいように記述されています。Mode S 仕様を手にした勤勉なプログラマーにとって、その仕組みを理解するのは簡単でしょう。

私が使用したアルゴリズムは、基本的に、使い捨ての SDL プログラムを使用して表示された多くのメッセージを観察し、メッセージがグラフィカルにどのように見えるかに基づいてアルゴリズムをモデル化しようとすることで得られました。

プログラムをテストするには?

RTLSDR デバイスを持っていて、頭上を航空機が飛行している地域にいる場合は、プログラムを実行して信号を確認するだけです。

ただし、RTLSDR デバイスがない場合、またはお住まいの地域での航空機の存在が非常に限られている場合は、Dump1090 ディストリビューションに含まれている「testfiles」ディレクトリのサンプルファイルを試すことをお勧めします。

次のように実行します。

root@kitploit:~
./dump1090 --ifile testfiles/modes1.bin

--snip モードとは?

これは単純なフィルターで、生の 8 ビット IQ サンプルを入力として受け取り、I と Q が指定された より低い部分を 32 サンプル以上連続して欠落させたファイルを出力します。

次のように使用します。

root@kitploit:~
cat big.bin | ./dump1090 --snip 25 > small.bin

このプログラムのソースコード配布物に含める小さなテストファイルを作成するために使用しました。

貢献

Dump1090 は 2012 年のクリスマスの空き時間に作成されました。趣味のプロジェクトであるため、空き時間にのみ問題に対処し改善することができますが、プログラムを改善するためのプルリクエストを送信することをお勧めします。良い出発点は、ソース配布物に含まれている TODO リストです。

クレジット

Dump1090 は Salvatore Sanfilippo [email protected] と、これまでにパッチを送信した他のコントリビューター(詳細についてはコミット履歴を確認してください)によって作成され、BSD 3 条項ライセンスの下でリリースされています。

ツールをダウンロード