
IPv6 पोर्ट स्कैनर जो तेज़ होने के लिए डिज़ाइन किया गया है, इंटरनेट स्कैनिंग और खोज के उद्देश्य से।
fi6s एक IPv6 पोर्ट स्कैनर है जिसे तेज़ बनाने के लिए डिज़ाइन किया गया है, जिसका उद्देश्य इंटरनेट स्कैनिंग और खोज है। यह एसिंक्रोनस रूप से कच्चे पैकेट भेजने और प्रसंस्करण द्वारा प्राप्त किया जाता है।
डिज़ाइन और लक्ष्य Masscan के समान है, हालांकि यह उतना पूर्ण-विशेषताओं वाला नहीं है।
कृपया लाइसेंस पर ध्यान दें।
अंत में: यह एक सुरक्षा अनुसंधान उपकरण है और इसका उपयोग करते समय स्थानीय नियमों का पालन करने और आवश्यकतानुसार अनुमति प्राप्त करने के लिए आप (उपयोगकर्ता) पूरी तरह से जिम्मेदार हैं।
किसी भी हाल के Linux सिस्टम पर fi6s बनाना काफी आसान है, जैसे Ubuntu पर:
# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release
निष्पादन योग्य फ़ाइल ./fi6s पर तैयार होगी।
ध्यान दें कि fi6s केवल Linux पर विकसित और परीक्षण किया गया है। अन्य UNIX-जैसे प्लेटफ़ॉर्म काम करने चाहिए, Windows काम नहीं करेगा।
fi6s आपके लिए गंदे नेटवर्क विवरण (स्रोत, राउटर MAC और IP) स्वतः पता लगाएगा, ताकि आप सीधे स्कैनिंग में कूद सकें:
# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120
यह उदाहरण होगा:
list" प्रारूप में आउटपुट करें (अंतर्निहित डिफ़ॉल्ट)स्कैन करने के लिए पता श्रेणी निर्दिष्ट करने के और भी विभिन्न तरीके हैं। यदि आप सुनिश्चित नहीं हैं कि क्या होने वाला है तो स्कैन के बारे में त्वरित अवलोकन प्राप्त करने के लिए --print-summary का उपयोग करें या सभी संभावित लक्ष्य IP मुद्रित करने के लिए --print-hosts का उपयोग करें।
अधिक उन्नत सुविधाओं और अतिरिक्त स्पष्टीकरणों के लिए कृपया fi6s --help के आउटपुट को देखें।
एक रिमोट होस्ट द्वारा नए कनेक्शन या प्रोब अनुरोध के जवाब में भेजा गया डेटा "बैनर" कहलाता है। fi6s उन्हें एकत्र करना आसान बनाता है।
आपको बस --banners विकल्प पारित करना है:
# ./fi6s -p 22 --banners 2001:db8::xx
अपनी कमांड लाइन में --udp फ़्लैग जोड़ें:
# ./fi6s -p 53 --banners --udp 2001:db8:xx::1
ध्यान दें कि TCP के विपरीत, आपको केवल तभी उपयोगी (या कोई) परिणाम मिलेंगे जब आप एक ऐसे पोर्ट को स्कैन करते हैं जिसका प्रोटोकॉल fi6s द्वारा प्रोबिंग के लिए समर्थित है। सूची देखने के लिए fi6s --list-protocols का उपयोग करें।
चूंकि fi6s अपना स्वयं का न्यूनतम TCP/IP स्टैक लाता है, ऑपरेटिंग सिस्टम को उसी पोर्ट पर TCP बोलने का प्रयास करने से रोका जाना चाहिए जिसका fi6s उपयोग कर रहा है, अन्यथा यह स्कैनिंग प्रक्रिया को तोड़ देगा।
डिफ़ॉल्ट रूप से fi6s OS से एक एपीमेरल पोर्ट आरक्षित करने और स्कैन की अवधि के लिए इसका उपयोग करने के लिए कहेगा। यह केवल Linux पर काम करता है।
यदि यह विफल होता है या आप एक अलग प्लेटफ़ॉर्म पर हैं (fi6s आपको बताएगा!) तो आपको एक स्रोत पोर्ट तय करना होगा और अपने फ़ायरवॉल को इस पोर्ट पर सभी ट्रैफ़िक को गिराने के लिए कॉन्फ़िगर करना होगा, उदाहरण के लिए:
# ipfw add 1000 deny tcp from any to any 12345 in ip6
or:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
and then:
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
चूंकि UDP कनेक्शन-रहित है, इसलिए ऐसा करने की कोई आवश्यकता नहीं है, लेकिन अनावश्यक ICMPv6 प्रतिक्रियाओं को भेजे जाने से रोकना अभी भी एक अच्छा विचार है। fi6s भी डिफ़ॉल्ट रूप से ऐसा करेगा।
IPv6 का एक बड़ा लाभ बड़ा पता स्थान है, और ऊपर वर्णित समस्या से बचने का दूसरा तरीका बस एक अलग स्रोत IP का उपयोग करना है।
यह IP आपकी स्थानीय मशीन को असाइन नहीं होना चाहिए, लेकिन इसे आपकी मशीन पर स्थिर रूप से रूट किया जाना चाहिए, क्योंकि fi6s NDP क्वेरी का उत्तर नहीं देगा।
यह जांचने के लिए कि आपका सेटअप सही ढंग से काम कर रहा है या नहीं, आप बस एक ज्ञात सार्वजनिक IP को पिंग कर सकते हैं, उदाहरण के लिए:
# ./fi6s --icmp --source-ip ${chosen_src_ip} 2001:4860:4860::8888
ICMPv6 Ping स्कैन करने के लिए --icmp का उपयोग करें:
# ./fi6s --icmp 2001:xxx0::1
राउंड ट्रिप समय मापा नहीं जाएगा।
fi6s के डिज़ाइन की अनुमति देने के लिए नेटवर्क वातावरण के बारे में कुछ धारणाएँ बनानी पड़ीं। ये सामान्य उपयोग को बिल्कुल प्रभावित नहीं करते हैं लेकिन पूर्णता के लिए यहाँ सूचीबद्ध हैं।
इसका मतलब है कि fi6s अपेक्षित रूप से प्रदर्शन नहीं कर सकता है या पूरी तरह से काम नहीं कर सकता है यदि:
बैनर संग्रह के लिए ध्यान दें कि fi6s वास्तविक TCP स्टैक जैसा कुछ भी नहीं लाता है। यह केवल एक क्वेरी भेजने और उसके बाद आने वाले प्रतिक्रिया डेटा को पढ़ने का समर्थन करता है। पुनर्भेज या विंडो तर्क लागू नहीं किए गए हैं।
जबकि fi6s यह सुनिश्चित करने के लिए पोर्ट और अनुक्रम संख्याओं का उपयोग करता है कि आपको मिलने वाले परिणाम विशिष्ट चल रहे स्कैन से संबंधित हैं, इसमें प्रोब भेजे गए IP की तुलना वास्तव में प्रतिक्रिया देने वाले IP से करने की कोई जाँच नहीं है।
इसका मतलब है कि स्कैन के दौरान किसी भी प्रकार का ट्रेसरूट चलाना स्कैन परिणामों में हस्तक्षेप नहीं करेगा।
हालांकि, यह संभव है कि स्कैन परिणामों में एक ऐसा IP दिखाई दे जो इनपुट सूची का हिस्सा नहीं था, यदि कोई स्कैन किया गया लक्ष्य किसी भिन्न IP पर उत्तर देता है। यह गुण व्यवहार में उपयोगी हो सकता है, क्योंकि कुछ राउटर शून्य नेटवर्क पते पर SNMP या DNS क्वेरी स्वीकार करेंगे, लेकिन अपने प्राथमिक IPv6 से उत्तर देंगे।
Example: scan 3fff:1234:1234:44xx:: -> response from 3fff:1234:1234:44a3:e2a:86ff:fe12:3456
जिस तरह से fi6s स्कैन किए गए IP को यादृच्छिक करता है (--randomize-hosts 1, जो डिफ़ॉल्ट है) वह सही से बहुत दूर है।
यह करेगा:
उदाहरण के लिए यदि आप 3fff::/108 स्कैन करते हैं तो 3fff::1, 3fff::20 और 3fff::300 का क्रम यादृच्छिक होगा। लेकिन 3fff::0:* में सभी पतों को 3fff::1:* से पहले, 3fff::2:* से पहले, और इसी तरह स्कैन किया जाएगा।