
IotShark - IoT ट्रैफिक की निगरानी और विश्लेषण
यह फॉल 2019 तिमाही के लिए CS 219 का हमारा अंतिम प्रोजेक्ट है।
IoTShark एक IoT निगरानी सेवा है जो उपयोगकर्ताओं को उनके IoT उपकरणों द्वारा भेजे/प्राप्त डेटा के रुझानों की निगरानी करने की अनुमति देती है। आमतौर पर, उचित कॉन्फ़िगरेशन के साथ मैन-इन-द-मिडिल अटैक स्थापित करने में काफी समय लग सकता है, और यह कंप्यूटर सुरक्षा या कंप्यूटर विज्ञान में बहुत कम या बिना अनुभव वालों के लिए भयावह रूप से असंभव लग सकता है।
IoTShark का उद्देश्य एक [लगभग] पूरी तरह से स्वचालित समाधान प्रदान करना है ताकि उपयोगकर्ता केवल एक स्क्रिप्ट चलाकर अपने IoT उपकरणों की निगरानी कर सके। उपयोगकर्ता को केवल यह चुनना होता है कि वह किस उपकरण की निगरानी करना चाहता है, और यह प्रोग्राम बाकी भारी काम का ध्यान रखता है: ARP पॉइज़निंग शुरू करना, पैकेट अग्रेषण सेट करना और मैन-इन-द-मिडिल पैकेट स्निफ़र स्थापित करना। इसमें एक आसानी से समझ में आने वाला और इंटरैक्टिव वेब UI भी है जहाँ उपयोगकर्ता पोर्ट, प्रकार और टाइमस्टैम्प के आधार पर पैकेट को फ़िल्टर कर सकता है, ताकि यह बेहतर समझ सके कि कितना और कब डेटा संचारित हो रहा है।
हम कुछ प्रकार के डेटा जैसे हार्टबीट संदेशों, डेटा स्थानांतरणों और विसंगतियों को वर्गीकृत करने का भी लक्ष्य रखते हैं, हालाँकि अंतिम को संभवतः अन-एन्क्रिप्टेड RPi परीक्षण पर प्रदर्शित किया जाएगा, क्योंकि विशाल मात्रा में डेटा के बिना विसंगति का पता लगाना कठिन है (और इतना डेटा इकट्ठा करने के लिए हमें कई उपकरणों और व्यक्तियों की आवश्यकता होगी)।
🚨🚨🚨 कृपया ध्यान दें कि निम्नलिखित निर्देश केवल MacOS पर सत्यापित किए गए हैं। यदि आप Linux या Windows + WSL का उपयोग करते हैं, तो आपके अनुभव भिन्न हो सकते हैं, और यह काम नहीं कर सकता। 🚨🚨🚨
pip3 install -r requirements.txtsudo sysctl net.inet.ip.forwarding=1sudo python3 iotshark.pyPython वर्चुअल वातावरण बनाएं और निर्भरता पैकेज स्थापित करें।
virtualenv --python=`which python3` venv
source venv/bin/activate
pip install -r requirements.txt
सुनिश्चित करें कि आपकी स्थानीय मशीन पर पैकेट अग्रेषण सक्षम है। यह मैन-इन-द-मिडिल अटैक के काम करने के लिए आवश्यक है। macOS पर यह निम्नलिखित से किया जा सकता है:
sudo sysctl net.inet.ip.forwarding=1
मुख्य प्रोग्राम iotshark.py चलाएं। स्वीकृत विकल्पों के लिए वह स्क्रिप्ट देखें।
वर्तमान में यह प्रोग्राम निम्नलिखित 4 क्रियाएँ करता है:
-s विकल्प द्वारा दिए गए सबनेट या सामान्य आवासीय सबनेट के सेट में सभी होस्ट के लिए स्कैन करें-f विकल्प के बाद CSV फ़ाइल के सापेक्ष पथ द्वारा पिछले कैप्चर किए गए डेटा के ग्राफ़ आउटपुट करेंARP पॉइज़निंग चलने के बाद, आप Wireshark द्वारा लक्ष्य उपकरण के ट्रैफ़िक की जांच कर सकते हैं, इस प्रकार के डिस्प्ले फ़िल्टर के साथ:
(ip.src==192.168.0.215 or ip.dst==192.168.0.215) and tcp.port != 443
कैप्चर किया गया डेटा निम्नलिखित प्रारूप के साथ एक CSV फ़ाइल में संग्रहीत किया जाता है:
{टाइमस्टैम्प, इनकमिंग_बाइट्स, आउटगोइंग_बाइट्स, स्रोत_पोर्ट, गंतव्य_पोर्ट, स्थानांतरण_प्रोटोकॉल, कनेक्शन_प्रोटोकॉल, स्रोत_आईपी, गंतव्य_आईपी}
123123213, 0, 240, 36, 80, 65124, HTTP, UDP, 192.168.0.215, 104.24.4.5
123123240, 300, 0, 800, 443, 65125, HTTPS, TCP, 104.24.4.5, 192.168.0.215
उदाहरण के लिए, यहाँ एक लंबी स्ट्रिंग है जिसे हम Alexa Echo Dot/Google Home से कह सकते हैं, जबकि उनके ट्रैफ़िक को स्निफ़ कर रहे हैं। ध्यान दें कि क्या उपकरण जागृति शब्द से पहले डेटा संचारित कर रहा है।
यह एक अंधेरी और तूफानी रात है। मैं और मेरे दोस्त अभी-अभी योसेमाइट राष्ट्रीय उद्यान से लौटे हैं, जहाँ तेज़ भूरी लोमड़ी आलसी कुत्ते पर छलांग लगाती है। अगला सप्ताह थैंक्सगिविंग है। 2019 में ब्लैक फ्राइडे भी आ रहा है। यह कुछ रोमांचक करने का अच्छा समय है, जैसे UCLA में कंप्यूटर सुरक्षा या प्रोग्रामिंग भाषा की कक्षा लेना। वैसे, पहला Airbus A380 जंबो जेट सेवानिवृत्त हो रहा है। हमें उस विमान में उड़ना पसंद है।
WAKE_WORD, थैंक्सगिविंग पर लॉस एंजिल्स में मौसम कैसा है?
वैसे, हमारे पास अंतर-महाद्वीपीय उड़ानों के लिए Boeing 787 Dreamliners हैं। Ravi के साथ वेब और मोबाइल सिस्टम की कक्षा अद्भुत है। हमें ब्लैक फ्राइडे की बिक्री के दौरान वाणिज्यिक लॉन्ड्री मशीन को अपग्रेड करना चाहिए। चमकदार और धूप वाला मौसम वापस आ रहा है और जोशुआ ट्री राष्ट्रीय उद्यान की यात्रा का इंतज़ार है। खैर, मैंने अभी-अभी एक धीमी बिल्ली को एक नए Android रोबोट से टकराते देखा। Apple और Amazon द्वारा बनाए गए कुछ अन्य रोबोट भी हैं।