Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
esp32-sniffer — برنامج ثابت ESP32 يتنصّت على حزم PROBE REQUEST التي ترسلها الهواتف الذكية بحثًا عن اتصال Wi-Fi لاستخراج أنواع مختلفة من المعلومات | Kitploit
أدوات/GitHubGitHub/ets-polito/esp32-sniffer
أمان الأنظمة المدمجةالتقاط وتحليل الحزمالاستطلاعتدقيق Wi-Fiأمان إنترنت الأشياءجمع المعلوماتأمن الشبكات اللاسلكيةأمان الأجهزة وإنترنت الأشياء
GitHubets-polito/esp32-sniffer

esp32-sniffer

برنامج ثابت ESP32 يتنصّت على حزم PROBE REQUEST التي ترسلها الهواتف الذكية بحثًا عن اتصال Wi-Fi لاستخراج أنواع مختلفة من المعلومات

3284053منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
الموقع الإلكتروني

ESP32 Sniffer

ETS

Software License Demo Twitter

يستخدم هذا المشروع Espressif IoT Development Framework (ESP-IDF) وقد تم اختباره على وحدة ESP-WROOM-32 وإصدار esp-idf v3.2.

يمكن العثور على نظرة عامة على المشروع الكامل (أي البرنامج الثابت ESP32 والخادم وواجهة المستخدم الرسومية) هنا.

تمت كتابة هذا البرنامج الثابت بهدف التقاط حزم Probe Request التي ترسلها الهواتف الذكية التي تبحث عن اتصال Wi-Fi. عندما يكون اتصال Wi-Fi نشطًا على هاتف ذكي، فإنه يرسل عبر البث (في جميع ترددات القنوات) رسالة probe request يسأل فيها عما إذا كانت هناك أي شبكات Wi-Fi مجانية أو بعض الشبكات المعروفة (أي أن الهاتف الذكي يعرف كلمة المرور لتلك الشبكة). سيقوم ESP32 بالتقاطها واستخراج أنواع مختلفة من المعلومات.

تُؤخذ المعلومات التالية من كل حزمة يتم التقاطها:

  • عنوان MAC للهاتف الذكي الذي أرسل الطلب
  • SSID الخاص بشبكة Wi-Fi التي يُرسل إليها الطلب
  • الطابع الزمني (Timestamp) لوقت إرسال الطلب
  • مؤشر قوة الإشارة المستقبلة (RSSI)
  • رقم التسلسل (SN)
  • معلومات قدرات HT (HT Capabilities Info)

بعد كل دقيقة تُرسل هذه المعلومات إلى خادم وتتم معالجتها. أخيرًا، يمكن عرض المعلومات المعالجة (الموقع الفعلي للهاتف الذكي في الوقت الحقيقي، تردد الهاتف الذكي، إلخ) من خلال واجهة المستخدم الرسومية.

عرض توضيحي

Watch the video

جدول المحتويات

  • نظرة عامة على البرنامج الثابت
  • إعداد بيئة ESP-IDF
  • الاستخدام
  • إعداد الملفات
    • إعداد المتغيرات
    • إضافة قائمة مخصصة
  • المكوّنات
  • الموارد

نظرة عامة على البرنامج الثابت

يتكون البرنامج الثابت من خيطين/مهمتين رئيسيتين:

  • مهمة الالتقاط (Sniffer Task)

    • التقاط حزمة Probe Request وحفظ المعلومات الموصوفة أعلاه في ملف.
  • مهمة Wi-Fi (Wi-Fi Task)

    • كل دقيقة، تأخذ المعلومات التي حفظتها مهمة الالتقاط وترسلها إلى الخادم.
    • يُستخدم lock لإدارة القسم الحرج لعمليات الإدخال/الإخراج في الملف.

تم تكوين ESP32 في وضع WIFI_MODE_APSTA: أي أنه ينشئ "soft-AP and station control block" ويبدأ "soft-AP and station". بفضل ذلك، يستطيع ESP32 التقاط المعلومات وإرسالها إلى الخادم في الوقت نفسه، متجنبًا فقدان معلومات الحزم أثناء إرسال البيانات.

فيما يلي القائمة الكاملة لحقول المعلومات التي يمكن أن توجد في Probe Request (المصدر IEEE 802.11-2012):

cwap-probe-10

وفيما يلي حزمة تم التقاطها باستخدام Wireshark يمكنك من خلالها رؤية، لكل حقل، عدد البتات وموقعها داخل الحزمة:

cwap-probe-03

إعداد بيئة ESP-IDF

قد يكون هذا القسم قديمًا، راجع الموقع الرسمي لمزيد من المعلومات وللحصول على أحدث دليل حول كيفية البدء مع ESP-IDF.

  1. إعداد سلسلة الأدوات (Toolchain)

    • Windows
    • Linux
    • Mac OS
  2. الحصول على ESP-IDF

    إلى جانب سلسلة الأدوات (التي تحتوي على برامج لتجميع وبناء التطبيق)، تحتاج أيضًا إلى واجهات برمجة التطبيقات / المكتبات الخاصة بـ ESP32.

    cd ~/esp
    git clone --recursive https://github.com/espressif/esp-idf.git
     
    
  3. التبديل إلى الإصدار v3.x

    cd esp-idf
    git checkout release/v3.2
     
    
  4. إعداد المسار إلى ESP-IDF

    تصل برامج سلسلة الأدوات إلى ESP-IDF باستخدام متغير البيئة IDF_PATH. يجب إعداد هذا المتغير على جهاز الكمبيوتر الخاص بك، وإلا فلن يتم بناء المشاريع.

    • Windows
    • Linux & Mac OS
  5. تثبيت حزم Python المطلوبة

    python -m pip install --user -r $IDF_PATH/requirements.txt
    

الاستخدام

  1. تأكد من أنك قمت بتصدير المسار

    export IDF_PATH=~/esp/esp-idf
    export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin
    
  2. استنساخ المستودع

    git clone https://github.com/ETS-PoliTO/esp32-sniffer.git
    cd esp32-sniffer
    
  3. إنشاء اتصال تسلسلي بين ESP32 وجهاز الكمبيوتر الخاص بك

    make menuconfig
    

    انتقل إلى Serial flasher config، ثم Default serial port واضبط المنفذ الذي يتصل به ESP32

    لاحظ أنه إذا كنت تستخدم جسرًا (bridge)، فمن المحتمل أنك تحتاج إلى تنزيل بعض برامج التشغيل:

    • CP210x
    • FTDI

    هذا يوفر دليلًا حول كيفية إنشاء اتصال تسلسلي بين ESP32 وجهاز الكمبيوتر.

  4. بناء الكود وبرمجة ESP32

    make all && make flash
    
  5. عرض السجلات

    make monitor
    

إعدادات الملفات

يحتوي الملف /main/Kconfig.projbuild على قائمتين مختلفتين:

  • SPIFFS (نظام ملفات SPI Flash)

    يحتوي على بعض المعلومات المهمة حول قسم SPIFFS:

    • عنوان SPIFFS الأساسي
    • حجم SPIFFS
    • حجم الكتلة المنطقية لـ SPIFFS
    • حجم الصفحة المنطقية لـ SPIFFS

    SPIFFS هو نظام ملفات يدعم موازنة التآكل (wear leveling) وفحوصات اتساق نظام الملفات والمزيد.

  • الإعدادات

    تحتوي على متغيرات مختلفة:

    • ESP32_ID: معرّف ESP32
    • WIFI_SSID: SSID الخاص بشبكة WiFi (اسم الشبكة)
    • WIFI_PASS: كلمة مرور WiFi (WPA أو WPA2)
    • BROKER_ADDR: عنوان IP لوسيط MQTT
    • BROKER_PSW: كلمة مرور وسيط MQTT
    • BROKER_PORT: منفذ وسيط MQTT
    • CHANNEL: القناة التي سيلتقط فيها ESP32 طلبات PROBE REQUEST
    • SNIFFING_TIME: مدة الالتقاط
    • إلخ...

إعداد المتغيرات

من أجل إعداد المتغيرات أعلاه:

  1. افتح الطرفية داخل مجلد المشروع ونفّذ

    make menuconfig 
    
  2. اختر القائمة التي تريد تعديلها

  3. عدّل المتغيرات كما تشاء

إضافة قائمة مخصصة

يمكنك أيضًا إضافة قوائم مختلفة بمتغيرات مختلفة:

  1. افتح Kconfig.projbuild

  2. ابدأ قائمة جديدة

    menu YOUR_MENU_NAME
    
  3. أضف المتغيرات التي تحتاجها

  4. أنهِ القائمة

    endmenu
    

المكوّنات

  • SPIFFS

    تحتاج إلى إنشاء جدول أقسام.

    مكوّنات SPIFFS

  • ESP32 MQTT

    تم استخدام مكتبة ESP32 MQTT.

    توثيق MQTT

  • MD5

    دالة تجزئة تُستخدم على الحزم الملتقطة من أجل الحصول على معرّف فريد.

الموارد

تنزيل الأداة