EagleEye - होस्ट-आधारित IDS और नेटवर्क निगरानी प्रणाली
इस प्रोजेक्ट को उपयोग के लिए तैयार होने से पहले बहुत काम करने की आवश्यकता है क्योंकि यह मेरा स्नातक प्रोजेक्ट है, इसलिए यह उपयोगकर्ता-अनुकूल नहीं है, केवल अनुभवी उपयोगकर्ताओं के लिए है, बीटा संस्करण है, और मैंने इसे केवल शैक्षिक उद्देश्यों के लिए प्रकाशित/बनाया है!

- EagleEye दो भागों से मिलकर बना है:
- क्लाइंट (Golang में लिखा गया)
- उद्देश्य: डिवाइस पर हर पैकेट कैप्चर करें और प्रसिद्ध प्रोटोकॉल में महत्वपूर्ण विवरण निकालें, फिर अंत में सभी एकत्रित डेटा को मास्टर को भेजें यदि वह ऑनलाइन है!
- उपयोग: इसे हर उस डिवाइस पर इंस्टॉल किया जाना चाहिए जिसे आप मॉनिटर करना चाहते हैं (उदा: कंपनियों के लिए कर्मचारी डिवाइस)।
- मास्टर: (Python और Bootstrap में लिखा गया)
- उद्देश्य: क्लाइंट्स से भेजे गए हर पैकेट को प्राप्त करें, उसे GUI मॉनिटरिंग तालिका में संगठित रूप से प्रदर्शित करें, कनेक्टेड डिवाइसों की जानकारी जैसे वर्तमान सिस्टम उपयोगकर्ता/सिस्टम जानकारी प्रदर्शित करें, कैप्चर किए गए डेटा की तुलना पहले से लिखे गए खतरे मॉडल से करें, और फिर अंत में मास्टर उपयोगकर्ता को नेटवर्क में संभावित सुरक्षा खतरों के बारे में सचेत करें जैसा कि एक सामान्य IDS प्रणाली करती है!
- उपयोग: इसे क्लाइंट्स के समान नेटवर्क पर एक सर्वर पर चलाया जाना चाहिए (उदा: शायद कंपनी के लिए IT विभाग या ब्लू हैकिंग टीम द्वारा प्रबंधित सर्वर)।
अधिक जानकारी के लिए, आपको (I)ntrusion (D)etection (S)ystems और इसके प्रकारों के बारे में पढ़ना होगा। मैं NIST गाइड की सिफारिश करता हूँ।
स्क्रीनशॉट
मुख्य GUI


निगरानी तालिका
ध्यान दें कि तालिका में दिए गए बटन आपको तालिका को (CSV, Excel, PDF) के रूप में निर्यात करने, तालिका डेटा को क्लिपबोर्ड पर कॉपी करने, और यदि आप चाहें तो तालिका डेटा प्रिंट करने की क्षमता देते हैं।
निगरानी तालिका खोज
सरल खोज
विस्तृत खोज
जैसा कि आप देख सकते हैं, यहां खोज आपको तालिका में दर्शाई गई किसी भी चीज़ की खोज करने की क्षमता देती है।
कनेक्टेड डिवाइस तालिका
जब एक नया क्लाइंट क्लाइंट से कनेक्ट होता है
प्रत्येक क्लाइंट के बारे में जानकारी
ध्यान दें कि तालिका हर 5 सेकंड में या पेज रिफ्रेश पर स्वचालित रूप से रिफ्रेश होती है!
खतरे तालिका
जब कोई खतरा पता चलता है
पता चले किसी भी संभावित खतरे के बारे में विवरण + क्लिक पर संदर्भ


खतरों के लिए डेस्कटॉप सूचना
ध्यान दें कि तालिका हर 5 सेकंड में या पेज रिफ्रेश पर स्वचालित रूप से रिफ्रेश होती है!
स्थापना निर्देश
क्लाइंट
आवश्यकताएँ
- वर्तमान में केवल Windows प्रणाली का समर्थन करता है (रजिस्ट्री से प्राप्त डेटा के कारण, इसे बदलने की आवश्यकता है)।
- निम्नलिखित निर्देश
स्थापना निर्देश
- सुनिश्चित करें कि आपके पास Golang स्थापित है।
- इस आदेश का उपयोग करके gopacket लाइब्रेरी स्थापित करें:
go get github.com/google/gopacket
- npcap को यहाँ से डाउनलोड और इंस्टॉल करें।
- अपनी आवश्यकताओं के अनुसार कोड में निम्नलिखित वेरिएबल बदलें:
- Line57: url वेरिएबल को अपने वर्तमान Master url में बदलें
- Line59: device वेरिएबल को उस नेटवर्क इंटरफ़ेस में बदलें जिसे आप सुनना चाहते हैं, Windows के लिए आपको यह लेख देखना होगा!
- Line66: filter वेरिएबल को उस फ़िल्टर में बदलें जिसे आप नेटवर्क पैकेट कैप्चर करने में उपयोग करना चाहते हैं या इसे खाली छोड़ दें (यदि आप सभी पैकेट कैप्चर करना चाहते हैं)। फ़िल्टर सिंटैक्स bpf है जो Wireshark खोज में उपयोग किया जाता है, आप इसे इस गाइड से सीख सकते हैं। मैंने टिप्पणियों में कुछ उदाहरण भी छोड़े हैं, यदि कोई उनका उपयोग करना चाहे।
- CMD में क्लाइंट निर्देशिका पर नेविगेट करें, बिल्कुल।
- अब आप इस आदेश के साथ क्लाइंट को स्क्रिप्ट के रूप में चला सकते हैं:
go run main.go
- इसे संकलित/बिल्ड करने के लिए, आप निम्न आदेश का उपयोग कर सकते हैं:
go build -o client.exe main.go, शायद आपको इस गाइड की आवश्यकता हो सकती है।
- यदि आपने ये सब कर लिया, तो जाकर अपनी ज़िंदगी जियो यार 😆 (मज़ाक कर रहा हूँ)
मास्टर
आवश्यकताएँ
- कोई भी OS.
- निम्नलिखित निर्देश, यह क्लाइंट की तुलना में बहुत आसान है, चिंता मत करो LOL!
स्थापना निर्देश
- सुनिश्चित करें कि आपके पास Python 3 स्थापित है (संस्करण 3.5 और ऊपर) और pip।
- CMD में master फ़ोल्डर पर नेविगेट करें और फिर इस आदेश का उपयोग करके आवश्यकताएँ स्थापित करें:
pip install -r requirements.txt या python -m pip install -r requirements.txt
- यदि आप Windows पर हैं और CMD में रंगीन प्रिंट आपके लिए महत्वपूर्ण है, तो यह आदेश चलाएँ:
pip install -r coloring-requirements.txt या python -m pip install -r coloring-requirements.txt
- अब आपकी आवश्यकताओं के अनुसार बदलने के लिए कुछ वेरिएबल हैं 😆
- Line21: host_port वेरिएबल को उस पोर्ट में बदलें जिस पर आप सेवा देना चाहते हैं (डिफ़ॉल्ट:8000)
- Line23: serve_localhost वेरिएबल को True में बदलें यदि आप मास्टर को केवल लोकल होस्ट पर चलाना चाहते हैं (डिफ़ॉल्ट:True)
- Line24: view_browser वेरिएबल को True में बदलें यदि आप चाहते हैं कि मास्टर ब्राउज़र में स्वचालित रूप से सर्विंग url खोले (डिफ़ॉल्ट:True)
- अब आप
python interface.py द्वारा मास्टर चला सकते हैं
- मज़े करो :)
TODO सूची