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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/aleksamcode/preferred-network-list-sniffer
パケットスニッフィングと分析偵察Wi-Fi監査情報収集ワイヤレスセキュリティレッドチーミング
GitHubaleksamcode/preferred-network-list-sniffer

Preferred-Network-List-Sniffer

デバイスの優先ネットワークリストからSSIDをキャプチャして表示する偵察ツール。

リポジトリを見る
1759209ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

プリファードネットワークリストスニファ - PNLS

License: MIT

プリファードネットワークリストスニファ (PNLS) は、シンプルなWebインターフェースを備えたレッドチーム向けWi-Fi監査ツールであり、デバイスのプリファードネットワークリスト (PNL)[^2] からSSID[^1]を傍受することができます。これは、周辺の プローブリクエスト をスニッフィングし、そこからSSIDやその他の情報を解析し、最終的にWeb UIに伝搬することで実現されます。このプロジェクトの主な動機は、802.11プローブリクエストと、それらが送信するデータに関連するプライバシーリスクを調査することでした。

PNLS システム概要

図 1: PNLS システム概要

[!WARNING] このプロジェクトのすべてのコンテンツは、セキュリティ研究目的のみを対象としています。

[!NOTE]

  • このプロジェクトは、Wi-Fiネットワークにおけるプライバシー保護に関する現在進行中の研究の一部です。

    • 作業範囲のプレゼンテーション
  • PNLS の進行中の作業を監視するには、プロジェクトのボードを参照してください。

目次

  • プリファードネットワークリストスニファ - PNLS
    • 目次
    • PNLSの構築方法
      • 要件
      • 前提条件
    • セットアップ
      • Dockerを使用する
      • プレビルドDockerイメージを使用する
      • Dockerなし
    • プローブリクエスト
    • SSIDフィルタリング
    • アーキテクチャ
      • なぜAsynchronous Server Gateway Interfaceなのか?
      • なぜWebSocketsなのか?
      • Pub-Subモデル
    • スクリーンショット
    • 略語
    • 参考文献

PNLSの構築方法

このプロジェクトを複製してデプロイするために必要なもの(ハードウェアおよびソフトウェアコンポーネントの両方)を以下に示します。作業環境の準備ができたら、セットアップセクションに進んでください。

要件

  • Raspberry Pi (RPi)
  • 適切なRPi電源(詳細は電源供給のドキュメントを参照)
  • Micro SDカード(詳細はSDカードのドキュメントを参照)
  • USB Wi-Fiアダプター(オプション)
    • パケットキャプチャ時の範囲を広げるために使用します。
  • HDMIケーブル(オプション)
    • コンピューターからリモート接続する代わりに、RPiからWeb UIを表示するために使用します。

前提条件

  • Kali Linux OS
    • モニターモードとaircrack-ngツールを使用するために必要です。Kali Linux ARMイメージはこちらからダウンロードできます。
      • または、別のOSを使用することもできますが、nexmonを使用してカーネルにパッチを適用するか、モニターモードをサポートするワイヤレスアダプターを使用する必要があります。Raspberry PiでサポートされているUSBアダプターのリストはこちらです。
      • また、aircrack-ngツールをインストールする必要があります。Kali Linuxにのみプリインストールされているためです。
  • モニターモードでネットワークインターフェースを起動します: sudo airmon-ng start wlan0 [2].

[!NOTE]

Re4sonのカーネルを使用するKaliイメージには、外部Wi-Fiカード用のドライバと、RPi 3および4の内蔵ワイヤレスカード用のNexmonファームウェアが含まれています[3]。

PNLS RPi 4デバイス

図 2: 外部アンテナとバッテリーバンクを備えたRPi 4で動作するPNLS

PNLS RPi 4デバイス AWUS036ACS

図 3: AWUS036ACSアンテナを搭載したケースに入ったRPi 4で動作するPNLS

PNLS RPi 4デバイス AWUS036ACM

図 4: AWUS036ACMアンテナを搭載したRPi 4で動作するPNLS

セットアップ

Dockerを使用したくない場合は、Dockerなしのセットアップに進んでください。

Dockerを使用する

開発インスタンスを迅速にセットアップします:

# First clone this repo.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Move to the project root folder.
cd Preferred-Network-List-Sniffer
# Build backend and frontend image.
docker compose build
# Bring up both the backend and the frontend server.
docker compose up
# Move into the sniffer folder.
cd sniffer
# Run the Sniffer service.
sudo python3 sniffer.py

プレビルドDockerイメージを使用する

現在、マルチプラットフォームイメージは利用できず、プロジェクトはARM64v8アーキテクチャのみをサポートしています。最新のプレビルドイメージをGitHub Container Registryからダウンロードし、ローカルで実行してください。

# First clone this repo.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Move to the project root folder.
cd Preferred-Network-List-Sniffer
# Download the prebuild images.
docker pull ghcr.io/aleksamcode/pnls-backend-ghcr:latest
docker pull ghcr.io/aleksamcode/pnls-frontend-ghcr:latest
# Bring up both the backend and the frontend server.
docker compose up
# Move into the sniffer folder.
cd sniffer
# Run the Sniffer service.
sudo python3 sniffer.py

Dockerなし

  • バックエンド: ASGIサーバーとRedisサーバーを起動し、必要なサービスを実行するには、これらの手順を参照してください。

  • フロントエンド: Reactサーバーを実行するには、これらの手順を参照してください。

以下は、すべてを「手動」で実行したときのスクリーンショットです:

  • 左上: Redisサーバー
  • 右上: ASGIサーバー
  • 左下: スニファサービス
  • 右下: Reactサーバー

PNLS Kaliスクリーンショット

図 5: PNLSのスクリーンショット

プローブリクエスト

プローブリクエストは、デバイスを以前に関連付けられたワイヤレスアクセスポイント (AP) に接続するために使用される管理802.11フレームです。デバイスがWi-Fiを有効にしているがネットワークに接続していない場合、定期的にPNLのSSIDを含むプローブリクエストのバーストを送信します。これらのフレームは暗号化されずに送信され、無線周波数 (RF) を監視している誰でもキャプチャして読み取ることができます。プローブはブロードキャストDAアドレス (ff:ff:ff:ff:ff:ff) に送信されます。送信後、デバイスはプローブタイマーを開始します。タイマーの終了時に、デバイスは受信した応答を処理します。応答を受信しなかった場合、デバイスは次のチャンネルに移動してプロセスを繰り返します。プローブリクエストには2つのタイプがあります:

  • ダイレクトプローブリクエスト: デバイスのPNLの特定のSSIDを使用

  • ヌルプローブリクエスト: ワイルドカードSSID(空のSSID)を使用

    • ブランクリクエストは、範囲内のすべての利用可能なAPから応答を得るために送信されます。

    • キャプチャされたすべてのパケットから802.11プローブリクエストフレームをフィルタリングすることに加えて、スニファはワイルドカードSSIDもフィルタリングします。

SSIDフィルタリング

多くのWi-Fiクライアントが存在する大規模なローカルネットワークがある場所でプローブリクエストをキャプチャすると、PNLSは必然的にそのネットワークのSSIDを含む多くのプローブリクエストをキャプチャします。そのようなSSIDのフィルタリングは、私たちにとって価値がなく、ソケット負荷の増加を引き起こす可能性があるため、有利な場合があります。これらのSSIDをフィルタリングすると、ソケット接続の負荷が軽減されるだけでなく、Web UI上での前述のSSIDのスパムも防止できます。

この機能を使用する場合、ソースコードを少し調整する必要があります。具体的には、settings.pyファイル内のSSID_FILTERリストを、スニファが無視する値に更新する必要があります。更新後、プロジェクトを再構築してPNLSを起動してください。

アーキテクチャ

ツールをダウンロード