Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PortForwarder — أداة إعادة توجيه المنافذ TCP بلغة C | Kitploit
أدوات/GitHubGitHub/lsecqt/portforwarder
أدوات عامةتخطيط الشبكةالتهرب من IDS/IPSالحركة الجانبيةاختبار الاختراقالأدوات والمكوناتالفريق الأحمر
GitHublsecqt/portforwarder

PortForwarder

أداة إعادة توجيه المنافذ TCP بلغة C

عرض المستودع
4111منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

موجه منفذ TCP لنظام ويندوز

موجه منفذ TCP عالي الأداء لنظام ويندوز مع إمكانية القائمة البيضاء لعناوين IP وتسجيل مفصّل اختياري.

الميزات

  • ✅ توجيه حركة مرور TCP من منفذ محلي إلى أي مضيف/منفذ بعيد
  • ✅ قائمة بيضاء اختيارية لعناوين IP لتعزيز الأمان
  • ✅ وضع الاستيلاء على المنفذ 445 / SMB (تعطيل SMB وتحرير المنفذ 445 للتتابع)
  • ✅ يدعم حتى 100 اتصال متزامن
  • ✅ توجيه بيانات ثنائي الاتجاه مع إحصائيات في الوقت الفعلي
  • ✅ وضع مفصّل لتصحيح الاتصالات المرفوضة
  • ✅ إعدادات TCP keepalive عدوانية لاكتشاف الاتصالات الميتة
  • ✅ توجيه منخفض زمن الوصول (تم تعطيل خوارزمية Nagle)
  • ✅ معالجة إيقاف التشغيل بأناقة (Ctrl+C)
  • ✅ إدارة اتصالات آمنة للخيوط

المتطلبات

  • نظام تشغيل ويندوز
  • Visual Studio (للترجمة) أو MinGW-w64
  • مكتبة Winsock2 (مضمنة مع Windows SDK)

الترجمة

باستخدام موجه أوامر مطور Visual Studio:

root@kitploit:~
cl PortForwarder.c /Fe:PortForwarder.exe ws2_32.lib

باستخدام MinGW-w64:

root@kitploit:~
gcc PortForwarder.c -o PortForwarder.exe -lws2_32

الاستخدام

root@kitploit:~
PortForwarder.exe <local_port> <remote_host> <remote_port> [allowed_ip] [-v]

المعاملات

  • <local_port> - المنفذ المحلي للاستماع (1-65535)
  • <remote_host> - اسم المضيف البعيد أو عنوان IP لتوجيه حركة المرور إليه
  • <remote_port> - المنفذ البعيد لتوجيه حركة المرور إليه (1-65535)
  • [allowed_ip] - اختياري - قبول الاتصالات فقط من عنوان IP هذا
  • [-v] - اختياري - تمكين الوضع المفصّل (عرض الاتصالات المرفوضة)

أمثلة

توجيه المنفذ الأساسي (بدون تصفية IP)

توجيه المنفذ المحلي 8080 إلى الخادم البعيد 192.168.1.100 المنفذ 80:

root@kitploit:~
PortForwarder.exe 8080 192.168.1.100 80

توجيه المنفذ مع القائمة البيضاء لعناوين IP

قبول الاتصالات فقط من 192.168.1.50:

root@kitploit:~
PortForwarder.exe 8080 192.168.1.100 80 192.168.1.50

توجيه المنفذ مع القائمة البيضاء لعناوين IP والتسجيل المفصّل

عرض محاولات الاتصال المرفوضة:

root@kitploit:~
PortForwarder.exe 8080 192.168.1.100 80 192.168.1.50 -v

التوجيه إلى اسم مضيف بعيد

root@kitploit:~
PortForwarder.exe 3306 database.example.com 3306

توجيه منفذ SSH مع تقييد IP

root@kitploit:~
PortForwarder.exe 2222 10.0.0.50 22 192.168.1.100

الاستيلاء على المنفذ 445 / SMB (للاختبارات المصرح بها فقط)

الاستماع على منفذ SMB 445 والتوجيه إلى نقطة نهاية SMB بعيدة. عندما يكون 445 هو المنفذ المحلي تقوم الأداة أولاً بتحرير المنفذ من خادم SMB المدمج في ويندوز:

root@kitploit:~
PortForwarder.exe 445 10.0.0.50 445 192.168.1.100

عندما يكون المنفذ المحلي هو 445، قبل الربط ستقوم الأداة تلقائياً بـ:

  1. التحقق من الصلاحيات — التأكد من تشغيل العملية بصلاحيات مرتفعة (مسؤول). إذا لم يكن كذلك، تتوقف مع رسالة واضحة.
  2. عرض المالك الحالي — تحديد PID/العملية المرتبطة حالياً بالمنفذ 445 (عادةً System، PID 4، عبر برنامج تشغيل kernel srvnet).
  3. تعطيل SMB وتحرير المنفذ — إيقاف LanmanServer وبرامج تشغيل srv2 / srvnet (إيقاف أي خدمات تابعة بشكل متكرر)، طباعة كل خطوة للرؤية.
  4. التحقق والربط — التأكد من أن المنفذ 445 حر، ثم الربط والتوجيه كالمعتاد.

مثال على الإخراج:

root@kitploit:~
[445] === Port 445 / SMB takeover ===
[445] Privilege check: running elevated (administrator). OK
[445] Port 445 currently held by PID 4 (System (kernel / srvnet))
[445] Disabling SMB server and releasing port 445...
[445] Stopping 'LanmanServer'...
[445]   service 'LanmanServer' stopped
[445] Stopping 'srv2'...
[445]   service 'srv2' stopped
[445] Stopping 'srvnet'...
[445]   service 'srvnet' stopped
[445] Port 445 is now free. Proceeding to bind.
[445] (Restore SMB later with: net start LanmanServer)

⚠️ إيقاف هذه الخدمات يعطل مشاركة الملفات/الطابعات على المضيف طوال فترة الاختبار. أعد تشغيلها بعد ذلك باستخدام net start LanmanServer (يتم إعادة تشغيل برامج التشغيل عند الطلب أو عند التمهيد التالي). استخدم فقط على الأنظمة التي لديك إذن باختبارها.

حالات الاستخدام

التطوير المحلي

  • الوصول إلى الخدمات التي تعمل داخل الحاويات أو الأجهزة الافتراضية
  • توجيه المنافذ من WSL2 إلى مضيف ويندوز
  • اختبار نقاط نهاية webhook محلياً

جسر الشبكة

  • ربط قطاعات شبكة مختلفة
  • تجاوز قيود جدار الحماية (للاستخدام المصرح به فقط)
  • الوصول إلى الخدمات الداخلية من DMZ

الوصول إلى قواعد البيانات

  • تأمين اتصالات قواعد البيانات باستخدام القائمة البيضاء لعناوين IP
  • نفق حركة مرور قواعد البيانات عبر مضيفات القفز
  • عرض قواعد البيانات المحلية للتطوير عن بعد

اختبار الأمان

  • مراقبة وتحليل أنماط حركة مرور TCP
  • اختبار ضوابط الوصول المستندة إلى IP
  • تدقيق محاولات الاتصال باستخدام الوضع المفصّل

معلومات الإخراج

يوفر الموجه تسجيلاً مفصلاً:

root@kitploit:~
[INFO] Configuration:
  Local port:  8080
  Remote host: 192.168.1.100
  Remote port: 80
  Allowed IP:  192.168.1.50 (filtered mode)
  Verbose:     OFF

[INFO] Listening on port 8080...
[INFO] Press Ctrl+C to stop

[INFO] New connection from 192.168.1.50:54321 ACCEPTED
[INFO] Connected to remote 192.168.1.100:80
[INFO] Connection established, forwarding traffic...
[INFO] Closing connection (Sent: 1024 bytes, Received: 2048 bytes, Total: 3072 bytes)

إخراج الوضع المفصّل

عند تمكين العلم -v، يتم تسجيل الاتصالات المرفوضة أيضاً:

root@kitploit:~
[INFO] Connection from 192.168.1.99:54322 REJECTED (IP not allowed)

التفاصيل الفنية

تحسينات الأداء

  • حجم المخزن المؤقت: مخازن مؤقتة بحجم 8KB لنقل البيانات بكفاءة
  • TCP_NODELAY: تعطيل خوارزمية Nagle لزمن وصول أقل
  • Keepalive: إعدادات عدوانية (10 ثوانٍ أولية، فاصل زمني 1 ثانية) لاكتشاف الاتصالات الميتة
  • تجمع الخيوط: حتى 100 اتصال متزامن مع خيوط توجيه مخصصة
  • قبول غير محظور: select() مع مهلة للاستجابة للإيقاف

معالجة الاتصالات

كل اتصال ينشئ خيط توجيه مخصص يقوم بـ:

  1. إنشاء اتصال بالمضيف البعيد
  2. تعيين خيارات المقبس (المهلات، keepalive، TCP_NODELAY)
  3. استخدام select() للتوجيه ثنائي الاتجاه
  4. تتبع البايتات المنقولة في كل اتجاه
  5. إغلاق كلا المقبس بأناقة عند الإنهاء

معالجة الأخطاء

يتعامل الموجه مع أخطاء الشبكة الشائعة بأناقة:

  • WSAECONNRESET - إعادة تعيين الاتصال من قبل الطرف الآخر
  • WSAECONNABORTED - إنهاء الاتصال
  • WSAENETRESET - تسبب الشبكة في قطع الاتصال
  • WSAETIMEDOUT - انتهت مهلة الاتصال

أمان الخيوط

  • الأقسام الحرجة تحمي مصفوفة الاتصالات
  • العلم المتغير running للإيقاف النظيف
  • مزامنة الخيوط أثناء التنظيف

اعتبارات الأمان

⚠️ ملاحظات أمان مهمة:

  1. القائمة البيضاء لعناوين IP: استخدم المعامل [allowed_ip] في الإنتاج لتقييد الوصول
  2. بدون تشفير: لا يقوم هذا الموجّه بتشفير حركة المرور. استخدم مع أنفاق SSH أو VPN للبيانات الحساسة
  3. المصادقة: لا توجد مصادقة مدمجة. تأكد من أن الخدمة البعيدة لديها الأمان المناسب
  4. جدار الحماية: قم بتكوين جدار حماية ويندوز لتقييد الوصول إلى المنفذ المستمع
  5. التسجيل: قم بتعطيل الوضع المفصّل في الإنتاج لتجنب تضخم ملف السجل
  6. حدود الموارد: حد 100 اتصال يمنع استنزاف الموارد

استكشاف الأخطاء وإصلاحها

المنفذ قيد الاستخدام بالفعل

root@kitploit:~
[ERROR] bind() failed: 10048

الحل: تطبيق آخر يستخدم المنفذ. اختر منفذاً محلياً مختلفاً أو أوقف الخدمة المتعارضة.

لا يمكن الاتصال بالبعيد

root@kitploit:~
[ERROR] connect() to remote failed: 10061

الحل: تحقق من أن المضيف البعيد قابل للوصول وأن الخدمة تعمل على المنفذ المحدد.

رفض الإذن

root@kitploit:~
[ERROR] bind() failed: 10013

الحل: المنافذ الأقل من 1024 قد تتطلب صلاحيات مسؤول. قم بالتشغيل كمسؤول أو استخدم رقم منفذ أعلى.

رفض الاتصال

root@kitploit:~
[INFO] Connection from X.X.X.X:XXXXX REJECTED (IP not allowed)

الحل: قم بتمكين الوضع المفصّل (-v) لرؤية عناوين IP المرفوضة، أو قم بإزالة تصفية IP.

إيقاف الموجه

اضغط على Ctrl+C لإيقاف الموجه بأناقة. سيقوم بـ:

  1. إيقاف قبول الاتصالات الجديدة
  2. انتظار انتهاء الاتصالات النشطة (حتى 5 ثوانٍ)
  3. إغلاق جميع المقابس
  4. تنظيف الموارد
  5. عرض تأكيد التنظيف

القيود

  • لنظام ويندوز فقط: يستخدم Winsock2 API (غير قابل للنقل إلى Linux/macOS)
  • IPv4 فقط: يدعم حالياً عناوين IPv4 فقط
  • عامل تصفية IP واحد: يمكن تحديد عنوان IP مسموح به واحد فقط
  • لا يوجد موازنة تحميل: يتم توجيه حركة المرور إلى نقطة نهاية بعيدة واحدة
  • لا يوجد فحص لحركة المرور: توجيه TCP خام بدون تحليل المحتوى
  • لا يوجد تحديد للنطاق الترددي: لا يوجد تقييد أو QoS مدمج

التحسينات المستقبلية

ميزات محتملة للإصدارات المستقبلية:

  • دعم IPv6
  • قائمة بيضاء/سوداء متعددة لعناوين IP
  • غلاف تشفير SSL/TLS
  • لوحة إحصائيات حركة المرور
  • دعم ملف التكوين
  • تحديد النطاق الترددي
  • موازنة تحميل دائرية
  • تحديد معدل الاتصال
  • دعم عبر المنصات (Linux/macOS)

الترخيص

يتم توفير هذا البرنامج كما هو للأغراض التعليمية ولإدارة الشبكة المشروعة. استخدمه بمسؤولية وامتثالاً للقوانين واللوائح المعمول بها.

المساهمة

المساهمات مرحب بها! يرجى التأكد من:

  • أن الكود يتبع الأسلوب الحالي
  • أن التغييرات تم اختبارها جيداً على ويندوز
  • أن التعليقات تشرح المنطق المعقد
  • أن ملف README يتم تحديثه للميزات الجديدة

الدعم

للاستفسارات أو الأسئلة أو طلبات الميزات، يرجى فتح مشكلة في مستودع المشروع.

يمكنك أيضاً دعم عملي على Patreon


تنزيل الأداة