
أداة استطلاع لالتقاط وعرض معرفات الشبكات اللاسلكية (SSIDs) من قائمة الشبكات المفضلة للجهاز.

ماسح قائمة الشبكات المفضلة (PNLS) هو أداة تدقيق لشبكات Wi-Fi تابعة للفريق الأحمر بواجهة ويب بسيطة قادرة على اعتراض معرفات SSID[^1] من قائمة الشبكات المفضلة (PNL)[^2] بالجهاز. يتم تحقيق ذلك عن طريق التقاط طلبات الاستقصاء في المنطقة المجاورة، ثم تحليلها لاستخراج معرف SSID ومعلومات أخرى، وأخيراً نشرها إلى واجهة الويب. الدافع الأساسي لهذا المشروع هو دراسة طلبات استقصاء 802.11 والمخاطر المتعلقة بالخصوصية المرتبطة بالبيانات التي تنقلها.
شكل 1: نظرة عامة على نظام PNLS
[!WARNING] جميع المحتويات في هذا المشروع مخصصة لأغراض البحث الأمني فقط.
[!NOTE]
هذا المشروع جزء من بحثي المستمر حول حماية الخصوصية في شبكات Wi-Fi.
لمراقبة العمل الجاري على PNLS، راجع لوحة المشروع.
إليك ما ستحتاجه لنسخ ونشر هذا المشروع، بما في ذلك مكونات الأجهزة والبرامج. بمجرد تجهيز بيئة العمل الخاصة بك، انتقل إلى أقسام الإعداد.
sudo airmon-ng start wlan0 [2].[!NOTE]
صورة Kali تستخدم نواة Re4son، والتي تتضمن برامج تشغيل لبطاقات Wi-Fi الخارجية وبرنامج Nexmon الثابت للبطاقة اللاسلكية المدمجة في RPi 3 و 4 [3].
شكل 2: PNLS يعمل على RPi 4 مع هوائي خارجي وبطارية
شكل 3: PNLS يعمل على RPi 4 مع علبة وهوائي AWUS036ACS
شكل 4: PNLS يعمل على RPi 4 مع هوائي AWUS036ACM
إذا كنت لا تريد استخدام 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
حالياً، الصور متعددة المنصات غير متوفرة، والمشروع يدعم فقط معمارية ARM64v8. قم بتنزيل أحدث الصور الجاهزة من سجل حاويات GitHub وقم بتشغيلها محلياً.
# 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
الخلفية: لبدء تشغيل خادمي ASGI و Redis وتشغيل الخدمات المطلوبة، راجع هذه التعليمات.
الواجهة الأمامية: لتشغيل خادم React، راجع هذه التعليمات.
هذه لقطة شاشة عندما تم تشغيل كل شيء "يدوياً":
شكل 5: لقطة شاشة PNLS