
एक Python स्क्रिप्ट जो एक निर्देशिका से सभी पाठ फ़ाइलों से सभी मान्य IP पतों को एकत्र करती है, और उन्हें Whois डेटाबेस, TOR रिले और स्थान के विरुद्ध जांचती है।
यह स्क्रिप्ट किसी दिए गए फ़ोल्डर से प्रत्येक फ़ाइल को पुनरावर्ती रूप से स्कैन करती है, प्रत्येक IPv4 और IPv6 पता निकालती है, सार्वजनिक IP पतों को फ़िल्टर करती है और फिर इन IPs को TOR रिले, WhoIs सेवा और स्थान सेवा के विरुद्ध क्वेरी करती है। यह 4 फ़ाइलें आउटपुट करती है: IP पतों के सभी विवरणों के साथ एक CSV फ़ाइल और एक JSON फ़ाइल, प्रत्येक मिले IP पते का एक इंडेक्स रखने वाली एक CSV फ़ाइल और एक KML फ़ाइल जिसमें सभी एकत्रित स्थान हों।
Python 3.9.x
निर्भरताएँ स्थापित करने के लिए, चलाएँ:
pip install -r requirements.txt
pip install pyinstaller
pyinstaller --onefile osips.py
python osips.py [-h] [-F INPUTFOLDER] [-f INPUTFILE] [-p INPUTFILESPATTERN] [-o OUTPUTFILESNAME] [-t {y,n,Y,N}] [-w {y,n,Y,N}] [-l {y,n,Y,N}] [-locationEndpoint LOCATIONENDPOINT]
python osips.py
python osips.py --checkTor Y --checkWhoIs Y --checkLocations Y --inputFolder testFolder/ --inputFilesPattern * --outputFilesName test
python osips.py -h
-h, --help
सहायता संदेश दिखाएँ और बाहर निकलें-F INPUTFOLDER, --inputFolder INPUTFOLDER
IPs वाली फ़ाइलों वाला एक फ़ोल्डर (लॉग फ़ाइलें, ईमेल फ़ाइलें, टेक्स्ट फ़ाइलें आदि)। IPs IPv4 और/या IPv6 हो सकते हैं और फ़ाइलों में कहीं भी रखे जा सकते हैं। स्क्रिप्ट फ़ोल्डर की प्रत्येक फ़ाइल को पार्स करेगी और प्रत्येक IP के लिए स्कैन करेगी-f INPUTFILE, --inputFile INPUTFILE
फ़ोल्डर के बजाय केवल एक फ़ाइल स्कैन करने के लिए इस विकल्प का उपयोग करें। फ़ाइल कोई भी टेक्स्ट फ़ाइल हो सकती है जिसमें IP पते हों (लॉग फ़ाइलें, ईमेल फ़ाइलें, टेक्स्ट फ़ाइलें आदि)-p INPUTFILESPATTERN, --inputFilesPattern INPUTFILESPATTERN
इनपुट फ़ोल्डर में फ़ाइलों के लिए उपयोग करने का पैटर्न दर्ज करें। उदाहरण: सभी फ़ाइलों के लिए *, टेक्स्ट फ़ाइलों के लिए *.txt-o OUTPUTFILESNAME, --outputFilesName OUTPUTFILESNAME
आउटपुट फ़ाइलों का नाम, बिना एक्सटेंशन के। इस नाम से 4 अलग-अलग फ़ाइलें बनाई जाएँगी: IP विवरण संग्रहीत करने वाली एक CSV फ़ाइल, IP इंडेक्स संग्रहीत करने वाली एक इंडेक्स फ़ाइल, विवरण संग्रहीत करने वाली एक JSON फ़ाइल और स्थान संग्रहीत करने वाली एक KML फ़ाइल-t {y,n,Y,N}, --checkTor {y,n,Y,N}
निर्दिष्ट करें कि क्या आप प्रत्येक सार्वजनिक IP पते को TOR रिले IP पतों के विरुद्ध जाँचना चाहते हैं-w {y,n,Y,N}, --checkWhoIs {y,n,Y,N}
निर्दिष्ट करें कि क्या आप प्रत्येक सार्वजनिक IP पते के लिए WhoIs जानकारी निकालना चाहते हैं-l {y,n,Y,N}, --checkLocations {y,n,Y,N}
निर्दिष्ट करें कि क्या आप प्रत्येक सार्वजनिक IP पते को जियोकोड करना चाहते हैं और का उपयोग करके स्थान जानकारी निकालना चाहते हैं-locationEndpoint LOCATIONENDPOINT
स्थान के लिए डिफ़ॉल्ट REST एंडपॉइंट "https://reallyfreegeoip.org/json/" है। आप प्लेसहोल्डर सहित एक अलग एंडपॉइंट निर्दिष्ट कर सकते हैं। परिणाम JSON में होना चाहिए और इसमें निम्नलिखित फ़ील्ड शामिल होने चाहिए: country_name, region_code, region_name, city, zip_code, time_zone, latitude, longitude, metro_code