
محلل WiFi و Bluetooth من الجيل التالي يعتمد على واجهة رسومية لنظام لينكس
Sparrow-WiFi هي أداة للوعي الطيفي لشبكات WiFi والبلوتوث بترددات 2.4 GHz و5 GHz لنظام Linux. تدمج مسح WiFi، واكتشاف Bluetooth Low Energy و Classic، وتحليل الطيف بواسطة الراديو المعرّف بالبرمجيات (HackRF، Ubertooth)، وتتبع GPS، وكشف طائرات FAA RemoteID بدون طيار، والعمليات عن بُعد عبر طائرات بدون طيار/عربات، وفهرسة ECS 8.17 في Elasticsearch أو OpenSearch ضمن منصة واحدة. مكتوبة بالكامل بلغة Python 3.
يتضمن المشروع أربعة مكونات تعمل بشكل مستقل أو معًا:
| المكون | الواجهة | الغرض |
|---|---|---|
| Sparrow-WiFi | واجهة رسومية PyQt5 لسطح المكتب | مسح WiFi/BT، تحليل الطيف، تتبع المصادر، القيادة التجوالية (wardriving) |
| Sparrow Agent | خادم HTTP بدون واجهة رسومية | المسح عن بُعد، نشر الطائرات بدون طيار/العربات، التكامل مع جهات خارجية |
| Sparrow DroneID | قائم على المتصفح (ويب) | كشف طائرات FAA RemoteID بدون طيار عبر WiFi وBluetooth LE |
| Sparrow Elastic Bridge | خدمة CLI بدون واجهة رسومية | فهرسة ECS 8.17 لملاحظات WiFi/BT في Elasticsearch / OpenSearch |
يُظهر Sparrow Agent و Sparrow DroneID واجهات برمجة تطبيقات REST بتنسيق JSON تسمح للتطبيقات الأخرى بالاستعلام عن نتائج المسح، وتشغيل عمليات المسح، واسترداد كشف الطائرات بدون طيار، ودمج الوعي اللاسلكي والطائرات بدون طيار في سير العمل الخاص بها. يستهلك Elastic Bridge واجهة REST الخاصة بالوكيل ويُرسل مستندات ECS 8.17 مع لوحات معلومات Kibana المرفقة.
يغطي هذا الإصدار ثلاثة تحسينات كبيرة مقارنة بالإصدار السابق:
/wireless/networks/<iface> في وقت واحد، كان الوكيل سابقًا يُشغّل N من استدعاءات iw scan المتكررة التي تتسلسل على قفل الواجهة الواحدة، مما يضاعف زمن المسح بعدد العملاء. الآن، الطلب الأول هو "القائد" الذي يقوم بالمسح فعليًا؛ تنتظر الطلبات المتزامنة على threading.Event وتشارك نتيجة القائد. يتضمن أيضًا إصلاح TOCTOU لإنشاء الأقفال وأمان الاستثناءات بالنسبة لأقفال الواجهات.droneid.*)، وواجهة ويب مستجيبة متعددة الأجهزة. انظر قسم Sparrow DroneID أدناه.sparrow-elastic.py لإنتاج مستندات ECS 8.17 (كان سابقًا ECS 1.5)، ويدعم الآن كلاً من Elasticsearch 8.x و OpenSearch 2.x، ويُهيئ قوالب فهرس قابلة للتجميع مع سياسات دورة حياة ILM/ISM وأسماء مستعارة للكتابة الدوّارة تلقائيًا، ويُجري إثراء بائعي OUI وتصنيف الأجهزة القائم على القواعد (مع خاصية بصمة Fingerbank الاختيارية)، ويُرسل أربع لوحات معلومات Kibana مرفقة بالإضافة إلى ستة تصورات مُحتفظ بها من الإصدار القديم. تم الاحتفاظ بالجسر القديم ECS 1.5 في legacy/sparrow-elastic.py. انظر تكامل Elasticsearch / OpenSearch.يوفر تطبيق Sparrow الأصلي واجهة رسومية شاملة كبديل لأدوات مثل inSSIDer و LinSSID، مع إمكانيات تتجاوز المسح الأساسي بكثير:
sparrowwifiagent.py) للمسح الموزع، العمليات على متن طائرة بدون طيار/عربة، ونشر Raspberry Piiw scan الخام
نظام مستقل لكشف وتتبع الطائرات بدون طيار قائم على الويب يفك تشفير بثوث التعريف عن بُعد الإلزامية من FAA (RemoteID). يعمل كخادم HTTP بلغة Python مع واجهة مستخدم عبر المتصفح يمكن الوصول إليها من أي جهاز على الشبكة.
تعمل واجهة الويب على http://localhost:8097 بمجرد بدء التشغيل. انظر التثبيت أدناه للإعداد، ومرجع API للوصول البرمجي.
بالإضافة إلى webhooks الخاصة بـ Slack، يمكن لـ Sparrow Droneid إرسال كل تنبيه مفعل إلى نقطة نهاية خارجية عامة لاستيعاب التنبيهات. القناة معطلة افتراضيًا؛ قم بتكوينها في الإعدادات ← التنبيهات ← التنبيهات المستندة إلى API:
http://MY_API_HOST:PORT/API_ROOTAuthorization: Bearer ...؛ مخفي في الواجهة بعد التخزينrule.category: "test"، تسلسلي TEST-0000) حتى يمكن اختبار المستقبل من البداية إلى النهاية دون انتظار طائرة حقيقيةيقوم Sparrow Droneid بإجراء مكالمتين ضد عنوان URL الجذر المُكوّن: