
انتحال الموقع الجغرافي عبر Wi-Fi باستخدام ESP8266 / ESP32

SkyLift هو جهاز تجريبي لانتحال الموقع الجغرافي عبر Wi-Fi/BT يستخدم لوحات ESP8266 أو ESP32 لبث إطارات منارة Wi-Fi أو إعلانات BT تحاكي البنية التحتية اللاسلكية من موقع بعيد/مستهدف. يوضح المثال أعلاه تحديدًا جغرافيًا ناجحًا لمنزل بيتر ثيل لقضاء العطلات في هاواي من مشروع DataPools (2018).
تعتمد الأجهزة المحمولة (أي iOS وAndroid) على هذه المعلومات في خدمات تحديد الموقع الجغرافي الأساسية عندما تكون إشارات GPS الفضائية ضعيفة، وهو ما يحدث غالبًا في المناطق الحضرية أو الأماكن الشبيهة بالأقبية.
حقق المشروع أكبر نجاح عند استخدام أجهزة SkyLift متعددة في الأماكن الخارجية بوضعية مشابهة لأجهزة التوجيه الحقيقية (المستهدفة)، مما يطغى على البنية التحتية الحالية لشبكة Wi-Fi ويُربك معظم الأجهزة المحمولة. كما عمل بشكل جيد في البيئات الداخلية المزدحمة حيث تمتص الأجسام (المكوّنة من ثلثي الماء) طاقة Wi-Fi لأن تردد 2.4GHz هو تردد الرنين لجزيئات الماء.
ومع ذلك، لا يزال من غير الواضح ما هي أفضل الإعدادات لبنية حزم Wi-Fi، وما العوامل الأخرى التي تؤثر على القدرة على تجاوز خدمات تحديد الموقع الجغرافي الأساسية، وما إذا كانت أنظمة تشغيل الأجهزة المحمولة تتضمن تقنيات مضادة للانتحال. على الأرجح سيكون نجاح هذا الكود محدودًا في البيئات العامة، لكن التكلفة المنخفضة لنماذج الأجهزة الأولية والنتائج المهمة المحتملة تجعله مشروعًا جديرًا بالاستكشاف أكثر.
http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonتم الاختبار على Linux Ubuntu 20.04
Python
python -m venv venv
source venv/bin/activate
python setup.py develop
skylift
Usage: skylift [OPTIONS] COMMAND [ARGS]...
SkyLift
Options:
--help Show this message and exit.
Commands:
convert-scan Convert WiFi/BT network can to Networks JSON
create-sketch Creates new Arduino sketch from template
تحويل مسح WiFi/BT إلى JSON للشبكات
skylift convert-scan -i path/to/scan.csv -o path/to/scan.json
إنشاء رسم Arduino من قالب
skylift create-sketch -i path/to/scan.json -o path/to/scan-arduino/
تخصيص المزيد من المعاملات
skylift create-sketch
-i path/to/scan.json
-o path/to/scan-arduino/
--max-networks 12
--board esp32
Linux
sudo chmod a+rw /dev/ttyUSB0pip install pyserial --user