Web開発
WaveDigger: 無線信号を掘り下げて物理的な場所を特定する
WaveDigger: Dig into wireless signals to discover their physical locations (github.com)
要約
WaveDiggerは、Wi-FiアクセスポイントのBSSIDやセルタワー(LTE、5G NR)のネットワークパラメータを基に、それらの物理的な位置を特定するツールです。Next.js、TypeScript、deck.glを使用してインタラクティブな地図表示を実現しており、AppleのWLOC APIのリバースエンジニアリングに基づいています。BSSID検索、セルタワー検索、インタラクティブマップ、検索履歴などの機能を備えています。
全文翻訳
WaveDigger 無線信号を掘り下げて物理的な場所を特定します。
WaveDiggerは、BSSID(MACアドレス)によるWi-Fiアクセスポイントや、ネットワークパラメータによるセルタワー(LTEおよび5G NR)の場所を見つけるのに役立ちます。
Next.js、TypeScript、deck.glを使用して構築され、インタラクティブな地図表示が可能です。
ホスト版は https://wavedigger.networksurvey.app で見つけることができます。
機能
BSSID検索: BSSIDを入力して、そのおおよその位置を見つけます
入力検証: BSSID入力の自動フォーマットと検証
サポートされる形式: AA:BB:CC:DD:EE:FF、AA-BB-CC-DD-EE-FF、AABBCCDDEEFF
セルタワー検索: LTEタワー(MCC、MNC、TAC、Cell ID)または5G NRタワー(MCC、MNC、TAC、NCI)を検索します。NR検索は、ターゲットセルおよび同じクラスター内の周囲のNRセルを返します。
インタラクティブマップ: deck.gl搭載のマップで結果を可視化します
検索履歴: 最近の検索を追跡して、素早くアクセスできるようにします
レスポンシブデザイン: デスクトップおよびモバイルデバイスで動作します
謝辞 🙏
このプロジェクトは、apple-corelocation-experimentsチームが行った素晴らしい作業なしには実現できませんでした。
WaveDiggerは、彼らの研究とAppleの位置情報サービスAPIのリバースエンジニアリングに基づいています。
具体的には、以下を使用しています:
AppleのWLOC APIのプロトコルバッファ定義
APIエンドポイントおよびリクエスト/レスポンス形式のドキュメント
座標エンコーディングおよびAPIの動作に関する理解
有効なリクエストに必要な初期バイトプレフィックス
Appleのドキュメント化されていない位置情報サービスを理解し、文書化した彼らの作業により、WaveDiggerのようなプロジェクトが存在できるようになりました。
オリジナルの研究およびAppleの位置情報サービスを扱うための追加ツールについては、彼らのリポジトリをご覧ください。
はじめに
前提条件
Node.js 24+ および npm
インストール
依存関係をインストールします: npm install
(オプション)強化された地図タイル用にMapboxトークンを追加します:
Mapboxからトークンを取得します
.env.localに追加します: NEXT_PUBLIC_MAPBOX_TOKEN=your_token_here
開発サーバーの実行
npm run dev
http://localhost:3000 を開いてアプリケーションを表示します。
技術詳細
アーキテクチャ
フロントエンド: TypeScript搭載のNext.js 15
地図表示: react-map-glを使用したdeck.gl
スタイリング: Tailwind CSS
API: Next.js APIルート
実際のApple WLOC API
アプリケーションは、BSSIDの位置を照会するためにAppleの実際のWLOC APIを使用します。
この実装は、apple-corelocation-experimentsプロジェクトの研究とプロトコルバッファ定義に基づいています。
API実装は以下を行います:
Appleのサーバーとの通信にプロトコルバッファを使用します
https://gs-loc.apple.com/clls/wloc にリクエストを送信します
座標変換を処理します(Appleは8桁の小数点以下のint64を使用します)
デフォルトおよび中国地域の両方のエンドポイントをサポートします
実際のBSSIDでのテスト
アプリをテストするには:
ルーターまたはアクセスポイントから実際のWi-Fi BSSID(MACアドレス)を見つけます
サポートされているいずれかの形式で入力します
アプリはAppleのデータベースを照会し、見つかった場合は位置を表示します
注意: すべてのBSSIDがAppleのデータベースにあるわけではありません。
新しく展開されたアクセスポイントやプライベートアクセスポイントには、位置データがない場合があります。
機能ロードマップ
結果のエクスポート: 検索結果をJSON/CSVとしてダウンロードします
TACクラスタービュー: 特定のCell IDまたはNCIを必要とせずに、TAC内のすべてのタワーを閲覧します
ライセンス
WaveDiggerは、GNU Affero General Public License v3.0の下でライセンスされています。
このソフトウェアの変更版をネットワークサービスとして実行する場合、AGPLは、そのサービスのユーザーに変更されたソースコードを利用可能にすることを要求します。