
एयरक्रैक-एनजी वायरलेस ऑडिटिंग सूट के लिए एक स्थानीय रूप से होस्ट किया गया GUI।
aircrack-ng वायरलेस टूलकिट के लिए एक स्थानीय वेब इंटरफ़ेस।
स्क्रीनशॉट · त्वरित आरंभ · विशेषताएँ · रोडमैप · योगदान
[!चेतावनी] इसका उपयोग केवल उन नेटवर्कों पर करें जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपके पास लिखित अनुमति है। ऐसे नेटवर्कों को स्कैन करना, डी-ऑथेंटिकेट करना या उनसे ट्रैफ़िक कैप्चर करना जिन्हें आप नियंत्रित नहीं करते, अधिकांश स्थानों पर अवैध है। कानूनी और जिम्मेदार उपयोग देखें।
AirmonGUI airmon-ng, airodump-ng, aireplay-ng, और aircrack-ng को एक वेब ऐप के पीछे रखता है जो आपकी अपनी मशीन पर चलता है। आप मॉनिटर मोड सक्षम करते हैं, नेटवर्क स्कैन करते हैं, WPA हैंडशेक कैप्चर करते हैं, और फ़्लैग याद रखने के बजाय लेबल वाले फ़ॉर्म पर क्लिक करके इसे क्रैक करते हैं।
यह किसी भी टूल को पुनः लागू नहीं करता है। बैकएंड वास्तविक बाइनरी को कमांड भेजता है और उनके आउटपुट को पार्स करता है, इसलिए आप जो देखते हैं वह वही है जो सूट ने वास्तव में किया। UI 127.0.0.1 से बंधता है और API कभी भी आपकी मशीन के बाहर नहीं जाती।
aircrack-ng सूट उत्कृष्ट है, लेकिन वर्कफ़्लो चार अलग-अलग कमांड और बहुत सारे फ़्लैग में फैला हुआ है जिन्हें आपको अपने दिमाग में रखना होता है: कार्ड को मॉनिटर मोड में डालें, लक्ष्य खोजने के लिए चैनल बदलें, BSSID पर लॉक करें, सही चैनल पर डी-ऑथ भेजें, चार-तरफ़ा हैंडशेक की प्रतीक्षा करें, फिर कैप्चर को वर्डलिस्ट में फ़ीड करें। चैनल मिस करें और डी-ऑथ कहीं नहीं जाता। --bssid भूल जाएँ और आपका कैप्चर शोर से भरा होता है।
मैं चाहता था कि पूरा अनुक्रम स्क्रीन के एक सेट के रूप में हो जो आपको इसके माध्यम से चलाए, आपको दिखाए कि हवा में क्या है, और चरणों के बीच स्थिति को सीधा रखे। यही यह है। यह सीखने के लिए कि हमले वास्तव में कैसे व्यवहार करते हैं, प्रयोगशाला के काम के लिए, और अधिकृत मूल्यांकन को गति देने के लिए अच्छा काम करता है।
एक रन साइडबार में ऊपर से नीचे की ओर बढ़ता है। यहाँ प्रत्येक स्क्रीन है।
नीचे के स्क्रीनशॉट में नेटवर्क, BSSID और क्लाइंट सिंथेटिक डेमो डेटा हैं, वास्तविक कैप्चर नहीं।
एक इंटरफ़ेस चुनें, उसके ड्राइवर, चिपसेट और PHY की जाँच करें, और मॉनिटर मोड चालू करें। जब आपका काम हो जाए, तो केवल उस इंटरफ़ेस को रिलीज़ करें।

एक airodump-ng जॉब शुरू करें और एक्सेस पॉइंट और क्लाइंट को भरते हुए देखें जैसे ही वे पाए जाते हैं। तालिका को फ़िल्टर करें, फिर किसी भी नेटवर्क को सीधे डी-ऑथ या हैंडशेक वर्कफ़्लो पर भेजें।

सिग्नल विश्लेषण प्रत्येक एक्सेस पॉइंट को स्कोर करता है ताकि मजबूत, कमज़ोर-सुरक्षित वाले सक्रिय क्लाइंट के साथ शीर्ष पर आ जाएँ। यह यह भी दिखाता है कि प्रत्येक चैनल कितना व्यस्त है और आसपास के नेटवर्क किस सुरक्षा का उपयोग करते हैं। आपके अपने उपकरणों को फ़्लैग किया जाता है ताकि आप गलती से खुद पर कुछ न निशाना साधें।

यह स्क्रीन airodump-ng को लक्ष्य के BSSID और चैनल पर लॉक करती है, क्लाइंट को डिस्कनेक्ट करने के लिए ऑटो-डी-ऑथ इंजन चलाती है ताकि वे फिर से कनेक्ट हों, और जैसे ही चार-तरफ़ा हैंडशेक कैप्चर होता है, हरा हो जाती है।

aircrack-ng को कैप्चर और वर्डलिस्ट पर इंगित करें। लॉग चलने पर स्ट्रीम होता है, और यदि पासफ़्रेज़ आपकी सूची में है, तो यह शीर्ष पर दिखाई देता है।

चैनल लॉकिंग, रन हिस्ट्री और पार्स किए गए इवेंट आउटपुट के साथ स्टैंडअलोन डी-ऑथ:

कैप्चर फ़ाइल प्रबंधन:

सत्र कमांड इतिहास:

आपको Linux, रूट एक्सेस, एक वायरलेस एडॉप्टर जो मॉनिटर मोड का समर्थन करता है, और अपने $PATH पर aircrack-ng सूट की आवश्यकता है। पूरी सूची के लिए आवश्यकताएँ देखें।
# 0. सूट स्थापित करें (Debian, Ubuntu, Kali)
sudo apt update && sudo apt install aircrack-ng wireless-tools
# 1. क्लोन करें
git clone https://github.com/ELHart05/AirmonGUI.git
cd AirmonGUI
# 2. बैकएंड (टर्मिनल 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. फ्रंटएंड (टर्मिनल 2)
cd frontend
npm install
npm run dev
http://localhost:5173 खोलें। UI केवल 127.0.0.1:8000 से बात करता है।
पहले कनेक्शन पर UI एक API टोकन माँगता है। बैकएंड स्टार्टअप पर अपने कंसोल पर एक टोकन प्रिंट करता है, जैसे:
======================================================================
AirmonGUI API टोकन (इस रन के लिए उत्पन्न):
Xy3k...लंबा-रैंडम-स्ट्रिंग...
जब संकेत दिया जाए तो इसे AirmonGUI वेब UI में पेस्ट करें।
======================================================================
उस टोकन को अनलॉक स्क्रीन में पेस्ट करें। रीस्टार्ट के बीच एक निश्चित टोकन रखने के लिए, backend/.env में AIRMON_GUI_AUTH_TOKEN सेट करें (बैकएंड स्टार्टअप पर वह फ़ाइल लोड करता है)। हेल्थ चेक को छोड़कर प्रत्येक API रूट को इस टोकन की आवश्यकता होती है, जो एक आवारा स्थानीय प्रक्रिया या एक वेब पेज को जो आप देख रहे हैं, आपकी पीठ पीछे वायरलेस टूल्स चलाने से रोकता है। बैकएंड को 127.0.0.1 के अलावा किसी और चीज़ से बांधने से पहले आपको टोकन स्पष्ट रूप से सेट करना होगा — अन्यथा यह शुरू होने से इंकार कर देगा।
यदि एकल-उपयोगकर्ता बॉक्स पर संकेत केवल घर्षण है, तो प्रमाणीकरण को पूरी तरह से बंद करने के लिए AIRMON_GUI_AUTH_ENABLED=false सेट करें; UI फिर अनलॉक स्क्रीन को छोड़ देगा। प्रमाणीकरण बंद होने पर बैकएंड लूपबैक के अलावा कहीं और बंधने से इंकार कर देता है — API_HOST को 127.0.0.1 के अलावा किसी और चीज़ पर इंगित करें और यह शुरू नहीं होगा।
रूट की आवश्यकता है क्योंकि airmon-ng, airodump-ng, और aireplay-ng रॉ सॉकेट का उपयोग करते हैं। सादे uvicorn के बजाय सीधे .venv/bin/uvicorn को कॉल करें, क्योंकि sudo PATH को रीसेट करता है और अन्यथा वर्चुअलएनवी को याद करेगा; -E फ़्लैग आपके द्वारा सेट किए गए किसी भी AIRMON_GUI_* वेरिएबल को रखता है। यदि आप सर्वर को रूट के रूप में नहीं चलाना चाहते हैं, तो उन विशिष्ट बाइनरी के लिए पासवर्ड रहित sudo सेट करें और backend/app/utils.py को समायोजित करें।
cd frontend
npm run build # स्थैतिक फ़ाइलें frontend/dist/ में लिखता है
frontend/dist/ को किसी भी स्थैतिक फ़ाइल सर्वर से सर्व करें और /api/* और /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 और WebSocket, प्रति टूल एक रूट मॉड्यूल
│ app/routes/ (interfaces, airodump, aireplay, aircrack, handshake, captures)
│ app/models.py (मान्य Pydantic I/O), app/state.py (इन-प्रोसेस जॉब रजिस्ट्री)
│ app/utils.py (subprocess और sudo लॉजिक), app/config.py (env कॉन्फ़िग)
│
├── frontend/ Vue 3 एकल-पृष्ठ ऐप, नियंत्रण कंसोल
│ views/ (Overview, Monitor, Scan, Signal, Deauth, Handshake, Crack, Captures, Reports, Terminal, Logs)
│ composables/ (प्रतिक्रियाशील जॉब और स्थिति लॉजिक), api/ (fetch रैपर)
│
└── website/ स्टैंडअलोन React लैंडिंग साइट (वैकल्पिक)
बैकएंड http://127.0.0.1:8000/api पर एक REST API और /ws/terminal पर एक टर्मिनल WebSocket प्रदान करता है (API टोकन द्वारा संरक्षित; AIRMON_GUI_TERMINAL_ENABLED=0 से इसे बंद करें)। विकास में, :5173 पर Vite देव सर्वर दोनों को बैकएंड पर प्रॉक्सी करता है।
इंटरैक्टिव स्कीमा बैकएंड चलने के दौरान http://127.0.0.1:8000/docs (Swagger UI), /redoc, और /openapi.json पर उपलब्ध हैं।
जब प्रमाणीकरण सक्षम हो (डिफ़ॉल्ट), तो /api/health और /api/auth/status को छोड़कर प्रत्येक एंडपॉइंट को X-Auth-Token हेडर की आवश्यकता होती है (टोकन कहाँ से आता है यह जानने के लिए त्वरित आरंभ देखें)। Swagger UI में Authorize बटन इसे आपके लिए भेजता है। AIRMON_GUI_AUTH_ENABLED=false के साथ टोकन हटा दिया जाता है (केवल लूपबैक)।
बैकएंड नीचे दिए गए डिफ़ॉल्ट के साथ चलता है, इसलिए आपको इन्हें बदलने के लिए ही इनकी आवश्यकता है। इन्हें backend/.env (स्टार्टअप पर लोड) में सेट करें या Uvicorn शुरू करने से पहले उन्हें एक्सपोर्ट करें; एक्सपोर्ट किया गया वेरिएबल फ़ाइल को ओवरराइड करता है। पूरी सूची के लिए backend/.env.example देखें।
"Could not lock wlan0 to channel N" या बिना नेटवर्क वाला स्कैन। इंटरफ़ेस लगभग हमेशा अभी भी मैनेज्ड मोड में होता है। मॉनिटर मोड एडॉप्टर को कैप्चर करने और चैनल बदलने की अनुमति देता है। पहले मॉनिटर टैब से इसे सक्षम करें (या airmon-ng start wlan0), फिर मॉनिटर इंटरफ़ेस पर स्कैन करें — अक्सर wlan0mon, हालाँकि कुछ ड्राइवर मूल नाम रखते हैं। स्कैन इस सटीक संकेत के साथ एक मैनेज्ड इंटरफ़ेस को अस्वीकार करता है, और एकल-चैनल स्कैन अब और निरस्त नहीं होता यदि प्री-लॉक सत्यापित नहीं किया जा सकता, क्योंकि airodump-ng स्वयं चैनल को ट्यून करता है।
पहले रन पर नेटवर्क दिखते हैं लेकिन दूसरे पर नहीं। एक अवशिष्ट मॉनिटर इंटरफ़ेस, या NetworkManager द्वारा एडॉप्टर को फिर से दावा करना, इसे अटकी हुई स्थिति में छोड़ सकता है। स्कैन करने से पहले airmon-ng check kill (चेक किल बटन) चलाएँ, और उसी इंटरफ़ेस पर दूसरा शुरू करने से पहले एक स्कैन रोकें।
इनमें से किसी पर भी सहायता का स्वागत है। योगदान देखें।
hashcat हैंड-ऑफ़कोई विचार है? एक मुद्दा खोलें। फीचर अनुरोध और प्रश्न ठीक हैं।
पुल अनुरोधों का स्वागत है, और जितना छोटा और केंद्रित होगा, उतना बेहतर।
uvicorn) और फ्रंटएंड (npm run dev) दोनों साफ़ शुरू होते हैं।प्रत्येक फ़ोल्डर का अपना README नोट्स के साथ है: backend, frontend, website।
यदि परियोजना आपके लिए उपयोगी है, तो एक स्टार अन्य लोगों को इसे खोजने में मदद करता है और मुझे बताता है कि इसे जारी रखना सार्थक है।
AirmonGUI उन नेटवर्कों पर अधिकृत वायरलेस परीक्षण, अनुसंधान और शिक्षण के लिए है जिनके आप मालिक हैं या जिनके मूल्यांकन के लिए आपके पास लिखित अनुमति है।
उन नेटवर्कों या उपकरणों के ट्रैफ़िक को इंटरसेप्ट करना और उन्हें डी-ऑथेंटिकेट करना जिन्हें आप नियंत्रित नहीं करते, अधिकांश न्यायालयों में अवैध है। डिफ़ॉल्ट एक कारण से API और देव सर्वर दोनों को लूपबैक पर रखते हैं, इसलिए उन्हें साझा या सार्वजनिक नेटवर्क पर उजागर न करें। लेखक दुरुपयोग की कोई जिम्मेदारी नहीं लेते हैं। इस सॉफ़्टवेयर का उपयोग करके आप पुष्टि करते हैं कि आपके पास प्रत्येक नेटवर्क और उपकरण के लिए अनुमति है जिसे आप छूते हैं।
नेटवर्क को समझने और उनकी रक्षा करने के लिए इसका उपयोग करें, न कि उन पर हमला करने के लिए जो आपके नहीं हैं।
MIT, LICENSE देखें। वास्तविक कार्य करने वाले aircrack-ng प्रोजेक्ट के शीर्ष पर बनाया गया।
| क्षेत्र | यह क्या करता है |
|---|
| मॉनिटर मोड | airmon-ng के साथ चुने हुए इंटरफ़ेस पर मॉनिटर मोड सक्षम या अक्षम करें। जब NetworkManager जैसी पृष्ठभूमि सेवाएँ मॉनिटर मोड को ब्लॉक कर रही हों, तो एक अलग चेक-किल क्रिया airmon-ng check kill चलाती है। |
| नेटवर्क स्कैनिंग | 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 पर सेट करें (केवल लूपबैक) |
AIRMON_GUI_AUTH_TOKEN | (उत्पन्न) | API टोकन। यदि सेट नहीं है तो स्टार्टअप पर उत्पन्न और मुद्रित; लूपबैक से बाहर बांधने के लिए आवश्यक |
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 | लोड करने के लिए env फ़ाइल का पथ; खाली स्ट्रिंग लोडिंग को छोड़ देती है |
export AIRMON_GUI_CAPTURE_DIR=/home/user/captures
sudo -E .venv/bin/uvicorn main:app --host 127.0.0.1 --port 8000
| आवश्यकता | टिप्पणियाँ |
|---|
| Linux (कर्नेल 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+ | बैकएंड और फ्रंटएंड टूलचेन |