Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PortForwarder — Utilitaire de redirection de ports TCP en C | Kitploit
Outils/GitHubGitHub/lsecqt/portforwarder
Utilitaires GénérauxCartographie RéseauÉvasion IDS/IPSMouvement LatéralTests d'IntrusionUtilitaires et FrameworksRed Teaming
GitHublsecqt/portforwarder

PortForwarder

Utilitaire de redirection de ports TCP en C

Voir le dépôt
411121il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Forwardeur de port TCP Windows

Un forwardeur de port TCP haute performance pour Windows avec liste blanche IP optionnelle et capacités de journalisation détaillée.

Fonctionnalités

  • ✅ Rediriger le trafic TCP d'un port local vers n'importe quel hôte:port distant
  • ✅ Liste blanche IP optionnelle pour une sécurité renforcée
  • ✅ Mode de prise en charge du port 445 / SMB (désactive SMB et libère le port 445 pour le relais)
  • ✅ Prend en charge jusqu'à 100 connexions simultanées
  • ✅ Transfert de données bidirectionnel avec statistiques en temps réel
  • ✅ Mode verbeux pour le débogage des connexions rejetées
  • ✅ Paramètres agressifs de keepalive TCP pour la détection des connexions mortes
  • ✅ Transfert à faible latence (algorithme de Nagle désactivé)
  • ✅ Gestion gracieuse de l'arrêt (Ctrl+C)
  • ✅ Gestion des connexions thread-safe

Configuration requise

  • Système d'exploitation Windows
  • Visual Studio (pour la compilation) ou MinGW-w64
  • Bibliothèque Winsock2 (incluse avec le SDK Windows)

Compilation

À l'aide de l'invite de commandes développeur Visual Studio :

cl PortForwarder.c /Fe:PortForwarder.exe ws2_32.lib

À l'aide de MinGW-w64 :

gcc PortForwarder.c -o PortForwarder.exe -lws2_32

Utilisation

PortForwarder.exe <local_port> <remote_host> <remote_port> [allowed_ip] [-v]

Paramètres

  • <local_port> - Port local sur lequel écouter (1-65535)
  • <remote_host> - Nom d'hôte ou adresse IP distante vers laquelle rediriger le trafic
  • <remote_port> - Port distant vers lequel rediriger le trafic (1-65535)
  • [allowed_ip] - Optionnel - Accepter uniquement les connexions depuis cette adresse IP
  • [-v] - Optionnel - Activer le mode verbeux (afficher les connexions rejetées)

Exemples

Transfert de port de base (sans filtrage IP)

Rediriger le port local 8080 vers le serveur distant 192.168.1.100 port 80 :

PortForwarder.exe 8080 192.168.1.100 80

Transfert de port avec liste blanche IP

Accepter uniquement les connexions depuis 192.168.1.50 :

PortForwarder.exe 8080 192.168.1.100 80 192.168.1.50

Transfert de port avec liste blanche IP et journalisation détaillée

Afficher les tentatives de connexion rejetées :

PortForwarder.exe 8080 192.168.1.100 80 192.168.1.50 -v

Transfert vers un nom d'hôte distant

PortForwarder.exe 3306 database.example.com 3306

Transfert de port SSH avec restriction IP

PortForwarder.exe 2222 10.0.0.50 22 192.168.1.100

Prise en charge du port 445 / SMB (engagements autorisés uniquement)

Écouter sur le port SMB 445 et rediriger vers un point de terminaison SMB distant. Lorsque 445 est le port local, l'outil libère d'abord le port du serveur SMB intégré de Windows :

PortForwarder.exe 445 10.0.0.50 445 192.168.1.100

Lorsque le port local est 445, avant de se lier, l'outil effectue automatiquement :

  1. Vérification des privilèges — confirme que le processus est exécuté avec des droits élevés (administrateur). Sinon, il s'arrête avec un message clair.
  2. Affichage du processus actuel — identifie le PID/processus actuellement lié au port 445 (normalement System, PID 4, via le pilote noyau srvnet).
  3. Désactivation de SMB et libération du port — arrête LanmanServer et les pilotes srv2 / srvnet (en arrêtant récursivement les services dépendants), en imprimant chaque étape pour plus de visibilité.
  4. Vérification et liaison — confirme que le port 445 est libre, puis se lie et transfère normalement.

Exemple de sortie :

[445] === Prise en charge du port 445 / SMB ===
[445] Vérification des privilèges : exécution avec droits élevés (administrateur). OK
[445] Le port 445 est actuellement détenu par PID 4 (System (kernel / srvnet))
[445] Désactivation du serveur SMB et libération du port 445...
[445] Arrêt de 'LanmanServer'...
[445]   service 'LanmanServer' arrêté
[445] Arrêt de 'srv2'...
[445]   service 'srv2' arrêté
[445] Arrêt de 'srvnet'...
[445]   service 'srvnet' arrêté
[445] Le port 445 est désormais libre. Procédure de liaison en cours.
[445] (Restaurer SMB plus tard avec : net start LanmanServer)

⚠️ L'arrêt de ces services désactive le partage de fichiers/imprimantes sur l'hôte pendant toute la durée de l'engagement. Restaurez-le ensuite avec net start LanmanServer (les pilotes redémarrent à la demande ou au prochain démarrage). Utilisez uniquement sur des systèmes que vous êtes autorisé à tester.

Cas d'utilisation

Développement local

  • Accéder aux services exécutés dans des conteneurs ou des machines virtuelles
  • Rediriger les ports de WSL2 vers l'hôte Windows
  • Tester les points de terminaison webhook localement

Pont réseau

  • Relier différents segments réseau
  • Contourner les restrictions de pare-feu (utilisation autorisée uniquement)
  • Accéder aux services internes depuis la DMZ

Accès aux bases de données

  • Sécuriser les connexions aux bases de données avec une liste blanche IP
  • Tunneliser le trafic de base de données via des hôtes intermédiaires
  • Exposer des bases de données locales pour le développement à distance

Tests de sécurité

  • Surveiller et analyser les modèles de trafic TCP
  • Tester les contrôles d'accès basés sur IP
  • Auditer les tentatives de connexion avec le mode verbeux

Informations de sortie

Le forwardeur fournit une journalisation détaillée :

[INFO] Configuration :
  Port local :  8080
  Hôte distant : 192.168.1.100
  Port distant : 80
  IP autorisée : 192.168.1.50 (mode filtré)
  Verbeux :     OFF

[INFO] Écoute sur le port 8080...
[INFO] Appuyez sur Ctrl+C pour arrêter

[INFO] Nouvelle connexion depuis 192.168.1.50:54321 ACCEPTÉE
[INFO] Connecté au distant 192.168.1.100:80
[INFO] Connexion établie, transfert du trafic...
[INFO] Fermeture de la connexion (Envoyé : 1024 octets, Reçu : 2048 octets, Total : 3072 octets)

Sortie en mode verbeux

Lorsque l'option -v est activée, les connexions rejetées sont également journalisées :

[INFO] Connexion depuis 192.168.1.99:54322 REJETÉE (IP non autorisée)

Détails techniques

Optimisations des performances

  • Taille du tampon : tampons de 8 Ko pour un transfert de données efficace
  • TCP_NODELAY : algorithme de Nagle désactivé pour une latence plus faible
  • Keepalive : paramètres agressifs (10s initial, 1s d'intervalle) pour détecter les connexions mortes
  • Pool de threads : jusqu'à 100 connexions simultanées avec des threads de transfert dédiés
  • Accept non bloquant : select() basé sur un délai d'attente pour un arrêt réactif

Gestion des connexions

Chaque connexion génère un thread de transfert dédié qui :

  1. Établit la connexion avec l'hôte distant
  2. Définit les options de socket (délais d'attente, keepalive, TCP_NODELAY)
  3. Utilise select() pour le transfert bidirectionnel
  4. Suit les octets transférés dans chaque direction
  5. Ferme gracieusement les deux sockets lors de la terminaison

Gestion des erreurs

Le forwardeur gère les erreurs réseau courantes avec élégance :

  • WSAECONNRESET - Connexion réinitialisée par le pair
  • WSAECONNABORTED - Connexion abandonnée
  • WSAENETRESET - Le réseau a provoqué une déconnexion
  • WSAETIMEDOUT - La connexion a expiré

Sécurité des threads

  • Les sections critiques protègent le tableau de connexions
  • Indicateur volatile running pour un arrêt propre
  • Synchronisation des threads lors du nettoyage

Considérations de sécurité

⚠️ Notes de sécurité importantes :

Télécharger l’outil