HN 日本語サマリー

← 一覧へ戻る
Web開発

WaveDigger: 無線信号を掘り下げて物理的な場所を特定する

WaveDigger: Dig into wireless signals to discover their physical locations (github.com)

20 pointsby 882542F3884314B2 コメント

要約

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は、そのサービスのユーザーに変更されたソースコードを利用可能にすることを要求します。