fi6s هو ماسح ضوئي لمنفذ IPv6 مصمم ليكون سريعًا. يتم تحقيق ذلك عن طريق إرسال ومعالجة الحزم الأولية بشكل غير متزامن. التصميم والهدف مشابهان إلى حد كبير لـ Masscan، على الرغم من أنه ليس كامل الميزات حتى الآن.
يعد إنشاء ملفات fi6 أمرًا سهلاً إلى حد ما على أي نظام Linux حديث، على سبيل المثال على 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
". هناك المزيد من الطرق المختلفة لتحديد نطاق العناوين المراد فحصه، إذا لم تكن متأكدًا مما سيحدث، فقم بتشغيل fi6s باستخدام --print-summary
للحصول على نظرة عامة سريعة حول الفحص أو --print-hosts
لطباعة جميع عناوين IP المحتملة .
لمزيد من الميزات المتقدمة، يرجى الرجوع إلى مخرجات fi6s --help
.
تسمى البيانات التي يرسلها المضيف البعيد استجابة لطلب اتصال أو اختبار جديد "بانر". يجعل fi6s من السهل جمع هذه الأشياء.
كل ما عليك فعله هو تمرير خيار --banners
:
# ./fi6s -p 22 --banners 2001:db8::xx
أضف علامة --udp
إلى سطر الأوامر الخاص بك:
# ./fi6s -p 53 --banners --udp 2001:db8::xx
لاحظ أنه على عكس TCP، لن تحصل على نتائج مفيدة (أو أي منها) إلا إذا قمت بمسح منفذ يدعم بروتوكوله الفحص بواسطة fi6s. استخدم fi6s --list-protocols
لعرض القائمة.
نظرًا لأن fi6s يقدم الحد الأدنى من مكدس TCP/IP الخاص به، فيجب منع نظام التشغيل من محاولة التحدث إلى TCP على نفس المنفذ الذي يستخدمه fi6s، وإلا فسيؤدي ذلك إلى تعطيل عملية المسح. عادةً ما يتم إرسال إطارات RST في هذه الحالة.
افتراضيًا، سيطلب نظام fi6s من نظام التشغيل حجز منفذ سريع الزوال واستخدامه طوال مدة الفحص. هذا يعمل فقط على نظام Linux.
إذا لم ينجح هذا أو كنت تستخدم نظامًا أساسيًا مختلفًا، فسيتعين عليك استخدام منفذ مصدر ثابت وتكوين جدار الحماية الخاص بك لإسقاط حركة المرور على هذا المنفذ، على سبيل المثال:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
نظرًا لأن UDP بدون اتصال، ليست هناك حاجة لمنع التداخل، على الرغم من أن هذه لا تزال فكرة جيدة لمنع نظام التشغيل الخاص بك من إرسال استجابات ICMPv6 غير الضرورية التي لا يمكن الوصول إليها (يحاول fi6s أيضًا القيام بذلك افتراضيًا).