
واجهة رسومية مستضافة محليًا لمجموعة أدوات تدقيق الشبكات اللاسلكية aircrack-ng.
واجهة ويب محلية لحزمة أدوات aircrack-ng اللاسلكية.
لقطات الشاشة · بدء سريع · المزايا · خارطة الطريق · المساهمة
[!WARNING] استخدم هذه الأداة فقط على الشبكات التي تملكها أو لديك إذن كتابي لاختبارها. إن فحص الشبكات أو إلغاء مصادقتها أو التقاط حركة المرور من شبكات لا تتحكم فيها أمر غير قانوني في معظم الأماكن. انظر الاستخدام القانوني والمسؤول.
تضع AirmonGUI أدوات airmon-ng وairodump-ng وaireplay-ng وaircrack-ng خلف تطبيق ويب واحد يعمل على جهازك. يمكنك تفعيل وضع المراقبة، وفحص الشبكات، والتقاط مصافحة WPA، وكسرها عبر النقر في نماذج مرقّمة بدلاً من تذكّر الخيارات (flags).
لا تعيد الأداة تنفيذ أيٍّ من هذه الأدوات. تستدعي الواجهة الخلفية الملفات التنفيذية الحقيقية وتُحلّل مخرجاتها، فما تراه هو ما فعلته الحزمة فعلاً. ترتبط الواجهة بـ 127.0.0.1 ولا تصل API إلى خارج جهازك أبدًا.
حزمة aircrack-ng ممتازة، لكن سير العمل موزّع عبر أربعة أوامر منفصلة والكثير من الخيارات التي عليك حفظها في ذهنك: ضع البطاقة في وضع المراقبة، وتنقّل بين القنوات للعثور على هدف، وثبّت القفل على BSSID، وأطلق إلغاء المصادقة على القناة الصحيحة، وانتظر مصافحة الأطراف الأربعة، ثم مرّر ملف الالتقاط عبر قائمة كلمات. أخطئ القناة فلن يصل إلغاء المصادقة إلى أي مكان. انسَ --bssid وستمتلئ بيانات الالتقاط بالضوضاء.
أردت أن تكون هذه السلسلة كاملة على شكل شاشات ترشدك خلالها، وتُظهر لك ما هو على الهواء، وتحافظ على الحالة بين الخطوات. وهذا هو ما تفعله الأداة. إنها تعمل جيدًا لتعلّم سلوك الهجمات الفعلي، وللعمل المخبري، ولتسريع التقييم المصرّح به.
تتحرك الجلسة من أعلى الشريط الجانبي إلى أسفله. إليك كل شاشة.
الشبكات وعناوين BSSID والعملاء في لقطات الشاشة أدناه بيانات تجريبية اصطناعية، وليست التقاطًا حقيقيًا.
اختر واجهة، وافحص برنامج التشغيل والشريحة وPHY، وفعّل وضع المراقبة. حرّر تلك الواجهة فقط عند الانتهاء.

ابدأ مهمة airodump-ng وشاهد نقاط الوصول والعملاء تملأ الجدول كلما اُكتشفت. صفِّ الجدول، ثم أرسل أي شبكة مباشرةً إلى سير عمل إلغاء المصادقة أو المصافحة.

يقيّم تحليل الإشارة كل نقطة وصول بحيث تتصدر القائمة النقاط القوية ضعيفة الحماية ذات العملاء النشطين. كما يعرض مدى ازدحام كل قناة ونوع الأمان الذي تستخدمه الشبكات المحيطة. وتُعلَّم أجهزتك الخاصة بعلامة حتى لا توجه أي شيء نحو نفسك بالخطأ.

تثبّت هذه الشاشة airodump-ng على BSSID الهدف وقناته، وتشغّل محرك إلغاء المصادقة التلقائي لطرد العملاء فيُعيدون الاتصال، وتتحول إلى اللون الأخضر لحظة التقاط مصافحة رباعية الأطراف.

وجّه aircrack-ng إلى ملف الالتقاط مع قائمة كلمات. يتدفق السجل أثناء التشغيل، وإذا كانت عبارة المرور موجودة في قائمتك فستظهر في الأعلى.

إلغاء مصادقة مستقل مع تثبيت القناة وسجل التشغيل ومخرجات الأحداث المحللة:

إدارة ملفات الالتقاط:

سجل أوامر الجلسة:

تحتاج إلى Linux وصلاحيات الجذر ومحول لاسلكي يدعم وضع المراقبة وحزمة aircrack-ng ضمن $PATH. انظر المتطلبات للقائمة الكاملة.
# 0. Install the suite (Debian, Ubuntu, Kali)
sudo apt update && sudo apt install aircrack-ng wireless-tools
# 1. Clone
git clone https://github.com/ELHart05/AirmonGUI.git
cd AirmonGUI
# 2. Backend (terminal 1)
cd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
sudo -E .venv/bin/uvicorn main:app --host 127.0.0.1 --port 8000
# 3. Frontend (terminal 2)
cd frontend
npm install
npm run dev
افتح http://localhost:5173. الواجهة تتواصل مع 127.0.0.1:8000 فقط.
عند أول اتصال تطلب الواجهة رمز API. تطبعه الواجهة الخلفية على طرفيتها عند الإقلاع، كما يلي:
======================================================================
AirmonGUI API token (generated for this run):
Xy3k...long-random-string...
Paste it into the AirmonGUI web UI when prompted.
======================================================================
الصق ذلك الرمز في شاشة فتح القفل. وللإبقاء على رمز ثابت عبر عمليات إعادة التشغيل، عيّن AIRMON_GUI_AUTH_TOKEN في backend/.env (تحمّل الواجهة الخلفية هذا الملف عند الإقلاع). يتطلب كل مسار من مسارات API باستثناء فحص الصحة هذا الرمز، وهذا ما يمنع أي عملية محلية شاردة أو صفحة ويب تصادفك زيارتها من تشغيل أدوات اللاسلكي خلف ظهرك. يجب عليك تعيين الرمز صراحةً قبل ربط الواجهة الخلفية بأي عنوان غير 127.0.0.1 — وإلا رفضت الإقلاع.
إذا كانت رسالة الطلب مجرد عائق على جهاز أحادي المستخدم، فعيّن AIRMON_GUI_AUTH_ENABLED=false لتعطيل المصادقة كليًا؛ وعندها تتخطى الواجهة شاشة فتح القفل. ومع تعطيل المصادقة ترفض الواجهة الخلفية الارتباط بأي مكان سوى loopback — وجّه API_HOST إلى أي شيء غير 127.0.0.1 ولن تقلع.
صلاحيات الجذر ضرورية لأن airmon-ng وairodump-ng وaireplay-ng تستخدم مقابس خام (raw sockets). استدعِ .venv/bin/uvicorn مباشرةً بدلاً من uvicorn العادي، لأن sudo يعيد تعيين PATH وقد لا يجد البيئة الافتراضية؛ وتحافظ علامة -E على أي متغيرات AIRMON_GUI_* عيّنتها. وإذا فضّلت عدم تشغيل الخادم بصلاحيات الجذر، فأعدّ sudo بدون كلمة مرور لتلك الملفات التنفيذية المحددة وعدّل backend/app/utils.py.
cd frontend
npm run build # writes static files to frontend/dist/
اخدم frontend/dist/ من أي خادم ملفات ثابتة ووجّه /api/* وWebSocket الخاص بـ /ws/* إلى عملية Uvicorn.
| الطبقة | الرصة |
|---|---|
| الواجهة الخلفية | Python 3.11+, FastAPI, Uvicorn, Pydantic v2 |
| الواجهة الأمامية | Vue 3, Vite 5, Tailwind CSS 3, lucide-vue-next, xterm.js |
| الموقع | React 18, TypeScript, Vite, Tailwind (صفحة الهبوط الاختيارية في website/) |
AirmonGUI
├── backend/ FastAPI REST API and WebSocket, one route module per tool
│ app/routes/ (interfaces, airodump, aireplay, aircrack, handshake, captures)
│ app/models.py (validated Pydantic I/O), app/state.py (in-process job registry)
│ app/utils.py (subprocess and sudo logic), app/config.py (env config)
│
├── frontend/ Vue 3 single-page app, the control console
│ views/ (Overview, Monitor, Scan, Signal, Deauth, Handshake, Crack, Captures, Reports, Terminal, Logs)
│ composables/ (reactive job and state logic), api/ (fetch wrappers)
│
└── website/ Standalone React landing site (optional)
توفّر الواجهة الخلفية واجهة REST API على http://127.0.0.1:8000/api وWebSocket طرفية على /ws/terminal (محكومة برمز API؛ عطّلها عبر AIRMON_GUI_TERMINAL_ENABLED=0). وفي بيئة التطوير، يعمل خادم Vite التطويري على :5173 كوسيط (proxy) لكليهما نحو الواجهة الخلفية.
المخططات التفاعلية متاحة على http://127.0.0.1:8000/docs (واجهة Swagger) و/redoc و/openapi.json أثناء تشغيل الواجهة الخلفية.
عند تفعيل المصادقة (الوضع الافتراضي)، يتطلب كل مسار باستثناء /api/health و/api/auth/status ترويسة X-Auth-Token (انظر بدء سريع لمعرفة مصدر الرمز). في واجهة Swagger، يرسل زر Authorize الرمز نيابةً عنك. ومع AIRMON_GUI_AUTH_ENABLED=false يُسقَط الرمز (عبر loopback فقط).
تعمل الواجهة الخلفية بالقيم الافتراضية أدناه، ولا تحتاج هذه المتغيرات إلا لتغييرها. عيّنها في backend/.env (يُحمَّل عند الإقلاع) أو صدّرها قبل تشغيل Uvicorn؛ فالمتغير المُصدَّر يتجاوز قيمة الملف. انظر backend/.env.example للقائمة الكاملة.
"تعذّر تثبيت wlan0 على القناة N" أو فحص بدون أي شبكات. في أغلب الحالات، تكون الواجهة لا تزال في وضع managed. وضع المراقبة هو ما يتيح للمحول الالتقاط وتغيير القنوات. فعّله من تبويب المراقبة أولاً (أو airmon-ng start wlan0)، ثم افحص على واجهة المراقبة — غالبًا wlan0mon، وإن كانت بعض برامج التشغيل تُبقي الاسم الأصلي. يرفض الفحص الواجهة في وضع managed مع هذه التلميحة نفسها، ولم يعد الفحص أحادي القناة يتوقف إذا تعذّر التحقق من التثبيت المسبق، لأن airodump-ng يضبط القناة بنفسه.
تظهر الشبكات في أول تشغيل لكن ليس في الثاني. يمكن أن تترك واجهة مراقبة متبقية، أو إعادة NetworkManager السيطرة على المحول بين عمليات التشغيل، الواجهة في حالة عالقة. شغّل airmon-ng check kill (زر Check Kill) قبل الفحص، وأوقف أي فحص قبل بدء فحص آخر على الواجهة نفسها.
المساعدة في أي من هذه البنود مرحّب بها. انظر المساهمة.
hashcat للكسر عبر GPUلديك فكرة؟ افتح مشكلة. طلبات المزايا والأسئلة مرحّب بها.
طلبات السحب (Pull requests) مرحّب بها، وكلما كانت أصغر وأكثر تركيزًا كان أفضل.
uvicorn) والأمامية (npm run dev) بنجاح دون أخطاء.لكل مجلد ملف README خاص به مع ملاحظات: backend وfrontend وwebsite.
إذا كان المشروع مفيدًا لك، فإن النجمة تساعد الآخرين على اكتشافه وتخبرني أنه يستحق المواصلة.
أداة AirmonGUI مخصصة لاختبارات اللاسلكي والأبحاث والتدريس المصرّح بها على الشبكات التي تملكها أو لديك إذن كتابي لتقييمها.
اعتراض حركة المرور وإلغاء مصادقة الشبكات أو الأجهزة التي لا تتحكم فيها أمر غير قانوني في معظم الولايات القضائية. الإعدادات الافتراضية تُبقي واجهة API وخادم التطوير على loopback لسبب وجيه، فلا تعرّضهما على شبكة مشتركة أو عامة. لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام. وباستخدامك لهذا البرنامج فإنك تؤكد أن لديك إذنًا لكل شبكة وجهاز تتعامل معه.
استخدمها لفهم الشبكات والدفاع عنها، لا لمهاجمة شبكات ليست ملكك.
MIT، انظر LICENSE. مبني على مشروع aircrack-ng الذي يقوم بالعمل الفعلي.
| المجال | الوظيفة |
|---|
| وضع المراقبة | تفعيل أو تعطيل وضع المراقبة على واجهة محددة باستخدام airmon-ng. يتوفر إجراء منفصل (check kill) يشغّل airmon-ng check kill عندما تعطّل الخدمات الخلفية مثل NetworkManager وضع المراقبة. |
| فحص الشبكات | يشغّل مهام التقاط airodump-ng ويعرض نقاط الوصول والعملاء في جدول مباشر يمكنك تصفيته حسب الاسم أو الأمان أو النطاق. |
| تحليل الإشارة | يرتّب نقاط الوصول حسب قابلية استهدافها (قوة الإشارة، ضعف الأمان، العملاء النشطون) ويرسم ازدحام القنوات ومزيج الأمان ضمن المدى. |
| إلغاء المصادقة | يرسل إلغاء مصادقة موجّهًا أو واسع النطاق عبر aireplay-ng، ويضبط الواجهة على قناة نقطة الوصول أولاً حتى تصل الإطارات. |
| التقاط المصافحة | سير عمل من ثلاث خطوات يثبّت airodump-ng على هدف، ويشغّل محرك إلغاء مصادقة تلقائي، ويكتشف مصافحة WPA رباعية الأطراف من تلقاء نفسه. |
| الكسر | يمرّر ملف التقاط وقائمة كلمات إلى aircrack-ng، ويبث السجل مباشرةً، ويعرض المفتاح المستعاد فور ظهوره. |
| إدارة ملفات الالتقاط | تصفّح ملفات .cap و.csv و.pcap و.ivs و.log التي تنتجها الحزمة وتصفيتها وتحديدها بكميات وحذفها. |
| طرفية مدمجة | قشرة PTY حقيقية (xterm.js) لمن يريد سطر أوامر مباشرًا في النافذة نفسها. |
| سجلات الأوامر | كل أمر شُغّل في الجلسة، مع مخرجات stdout وstderr والحالة وزر نسخ بنقرة واحدة. |
| الأسلوب | المسار | الوصف |
|---|
| GET | /api/health | فحص صحة الخادم (بدون رمز) |
| GET | /api/auth/status | ما إذا كانت المصادقة والطرفية مفعّلتين (بدون رمز) |
| GET | /api/auth/verify | تأكيد أن الرمز المقدّم صالح |
| GET | /api/toolcheck | التحقق من تثبيت أدوات aircrack-ng |
| GET | /api/interfaces | سرد الواجهات اللاسلكية مع MAC وحالة المراقبة |
| POST | /api/monitor | بدء أو إيقاف وضع المراقبة |
| POST | /api/checkkill | تشغيل airmon-ng check kill لإيقاف الخدمات المتداخلة |
| GET | /api/airodump/jobs | سرد مهام الالتقاط الجارية والمعروفة |
| POST | /api/airodump/start | بدء مهمة فحص airodump-ng |
| POST | /api/airodump/stop | إيقاف مهمة فحص حسب المعرّف |
| GET | /api/airodump/results/{job_id} | نتائج الفحص المحللة (الشبكات والعملاء) |
| POST | /api/aireplay/deauth/start | بدء مهمة إلغاء مصادقة |
| GET | /api/aireplay/deauth/jobs | سرد مهام إلغاء المصادقة |
| GET | /api/aireplay/deauth/{job_id}/status | الاستعلام عن مهمة إلغاء مصادقة |
| POST | /api/aireplay/deauth/{job_id}/stop | إيقاف مهمة إلغاء مصادقة |
| POST | /api/handshake/start | بدء التقاط مصافحة موجّه |
| GET | /api/handshake/jobs | سرد مهام التقاط المصافحة |
| GET | /api/handshake/{job_id}/status | الاستعلام عن اكتشاف المصافحة |
| POST | /api/handshake/{job_id}/stop | إيقاف التقاط مصافحة |
| GET | /api/aircrack/jobs | سرد مهام الكسر |
| GET | /api/aircrack/validate?path=<file> | التحقق مما إذا كان ملف الالتقاط يحوي مصافحة |
| POST | /api/aircrack/crack | بدء مهمة قائمة كلمات aircrack-ng |
| GET | /api/aircrack/{job_id}/status | الاستعلام عن حالة الكسر وأحدث مخرجات السجل |
| POST | /api/aircrack/{job_id}/stop | إيقاف مهمة كسر |
| GET | /api/captures | سرد ملفات الالتقاط |
| GET | /api/captures/cap | سرد ملفات .cap و.pcap و.ivs القابلة للكسر |
| DELETE | /api/captures/{filename} | حذف ملف التقاط |
| WS | /ws/terminal | طرفية PTY تفاعلية (مفعّلة افتراضيًا؛ محكومة برمز؛ عطّلها عبر AIRMON_GUI_TERMINAL_ENABLED=0) |
| المتغير | الافتراضي | الوصف |
|---|
AIRMON_GUI_CAPTURE_DIR | /var/lib/airmongui/captures | أين تُكتب ملفات الالتقاط (تُنشأ بصلاحيات 0700؛ يجب أن يكون مجلدًا خاصًا تملكه) |
AIRMON_GUI_AUTH_ENABLED | true | عيّنه إلى false لإلغاء شرط الرمز (عبر loopback فقط) |
AIRMON_GUI_AUTH_TOKEN | (مولّد) | رمز API. يُولَّد ويُطبع عند الإقلاع إذا لم يُعيَّن؛ مطلوب عند الارتباط خارج loopback |
AIRMON_GUI_TERMINAL_ENABLED | 1 | قشرة /ws/terminal محكومة برمز؛ عيّنه إلى 0 لإزالة المسار وإخفاء التبويب |
AIRMON_GUI_MAX_ACTIVE_JOBS | 8 | سقف المهام المتزامنة للأدوات |
CORS_ORIGINS | http://localhost:5173 | الأصول المسموح بها مفصولة بفواصل |
API_HOST | 127.0.0.1 | المضيف الذي يرتبط به Uvicorn |
API_PORT | 8000 | المنفذ الذي يستمع عليه Uvicorn |
AIRMON_GUI_ENV_FILE | backend/.env | مسار ملف البيئة المطلوب تحميله؛ السلسلة الفارغة تتخطى التحميل |
export AIRMON_GUI_CAPTURE_DIR=/home/user/captures
sudo -E .venv/bin/uvicorn main:app --host 127.0.0.1 --port 8000
| المتطلب | ملاحظات |
|---|
| Linux (kernel 4.x+) | اختُبر على Kali Linux وUbuntu 22.04 |
| محول لاسلكي يدعم وضع المراقبة | مثل Atheros AR9271 أو شريحة اختبار اختراق شائعة أخرى |
| حزمة aircrack-ng | airmon-ng وairodump-ng وaireplay-ng وaircrack-ng ضمن $PATH |
wireless-tools (iwconfig) | تُستخدم لضبط القنوات |
| صلاحيات الجذر | مطلوبة من أدوات aircrack-ng |
| Python 3.11+ وNode.js 18+ | سلاسل أدوات الواجهة الخلفية والأمامية |