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

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

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

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

ツールディレクトリ

カテゴリ

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

dump1090

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

リポジトリを見る
1.1k3192年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Dump1090 README

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

主な機能は以下の通りです:

  • 弱いメッセージの堅牢なデコード。mode1090 では、多くのユーザーが他の一般的なデコーダと比較して範囲が改善されたと観察しています。
  • ネットワークサポート: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 を使用)。

インストール

「make」と入力します。

通常の使用方法

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

root@kitploit:~
./dump1090

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

root@kitploit:~
./dump1090 --raw

インタラクティブモードでプログラムを実行するには:

root@kitploit:~
./dump1090 --interactive

インタラクティブモードで、ネットワークサポートを有効にしてプログラムを実行し、ブラウザで http://localhost:8080 に接続してライブトラフィックを表示するには:

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

インタラクティブモードでは、情報密度は低いですが、より「アーケードスタイル」の出力が可能です。画面は毎秒更新され、受信した 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 自体を呼び出す場合にはこれは不要です。Dump1090 は自動的にサポートされる最高のゲインを選択できるためです。

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

追加オプション

Dump1090 は、異なるゲインや周波数などを設定するための他のコマンドラインオプションを指定して呼び出すことができます。オプションの一覧を表示するには、以下を使用します:

root@kitploit:~
./dump1090 --help

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

信頼性

デフォルトでは、Dump1090 は利用可能な場合、24 ビット CRC チェックサムを使用してデコードエラーをチェックします。エラーのあるメッセージは破棄されます。

--fix コマンドラインスイッチは、CRC チェックサムに基づくシングルビット誤り訂正を有効にします。技術的には、シングルビット誤りから生じる事前計算されたチェックサム差分のテーブルを使用して、誤ったビット位置を検索します。

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

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

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

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

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

--net でネットワークサポートを有効にすると、Dump1090 はポート 30002 と 30001 でクライアント接続のリッスンを開始します(必要に応じて両方のポートを変更できます。--help の出力を参照)。

ポート 30002

接続されたクライアントには、デバイス(または --ifile が使用されている場合はファイル)から到着するデータが、以下のような raw 形式で ASAP で提供されます:

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

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

ポート 30001

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

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

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

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

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

以下の例のように、--ifile に引数として /dev/zero を使用することで、Dump1090 をハブとして使用することも可能です:

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/redmine/attachments/download/246/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 つの復調エラーが許容されます(マグニチュードベクトル内の同じ 8 の隣接エントリ)。通常、エラーのないメッセージのみがチェックされます。
  • CRC エラーが 2 ビット誤りに起因する DF17 メッセージの修正を試みます。

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

デバッグモード

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

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

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

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

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

このプログラムの仕組み

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

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

プログラムのテスト方法

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

ただし、RTLSDR デバイスがない場合や、お住まいの地域での航空機の存在が非常に限られている場合は、Dump1090 配布物に含まれている "testfiles" ディレクトリ内のサンプルファイルを試してみてください。

次のように実行します:

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

--strip モードとは?

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

次のように使用します:

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

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

コントリビューション

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

クレジット

Dump1090 は Salvatore Sanfilippo [email protected] によって書かれ、BSD 3-Clause ライセンスの下でリリースされています。

ツールをダウンロード