
أداة خفيفة لخداع ماسحات المنافذ
هذا البرنامج النصي مصمم لفتح عدد من المقابس (sockets) بقدر ما ترغب (بين 1024 - 65535).
الأرقام الأقل من 1024 تعمل أيضًا ولكن يجب أن تكون مستخدم root لفعل ذلك.
يمكن أن يكون هذا مفيدًا عندما لا تريد أن يقوم الأشخاص بتخطيط جهازك
لمعرفة ما تشغله وما لا تشغله، فهذه خطوة صغيرة لهزيمة الاستطلاع.
يستخدم Portforge.cr تقنية مدمجة في مترجم Crystal تُسمى Fibers.
هي تشبه إلى حد كبير خيوط النظام (system threads) ولكن Fibers أخف وزنًا بكثير
وإدارة التنفيذ تتم من خلال العملية 1.
كلما اخترت نطاقًا أكبر، كلما استغرق البرنامج النصي وقتًا أطول
لتحميل كل مقبس، لكنني بذلت قصارى جهدي لتحسين البرنامج النصي
لذا يجب أن يستغرق بضع دقائق فقط (تبعًا للنظام بالطبع).
يعمل البرنامج النصي في خطوتين.
أولاً يقوم بعمل فحص خاص به على النظام لمعرفة أي منفذ مفتوح بالفعل.
ثم يتم وضع المنافذ المفتوحة في قائمة واحدة والمنافذ المغلقة في قائمة أخرى.
الخطوة التالية هي فتح المنافذ المغلقة، لذا يختار البرنامج النصي القائمة التي تحتوي على جميع المنافذ المغلقة
ويفتح مقبسًا (socket) على كل منها.
بينما يقوم الـ fiber الرئيسي بفتح مقبس على كل منفذ،
يتم استدعاء fiber آخر تحت الرئيسي يستمع للاتصالات الواردة ويغلقها مباشرة.
تتكرر هذه العملية إلى أجل غير مسمى، أو حتى تقوم بمقاطعة البرنامج النصي.
crystal build portforge.cr
./portforge IP startport endport
الصورة الأولى تظهر تشغيل portforge.cr والثانية هي نتيجة فحص Nmap.
كما ترى، يعتقد Nmap أنني أشغل كل هذه الخدمات بينما في الواقع، إنه مجرد تشغيل portforge.cr.
