Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PortForwarder — TCP-Portweiterleitungs-Dienstprogramm in C | Kitploit
Tools/GitHubGitHub/lsecqt/portforwarder
Allgemeine DienstprogrammeNetzwerkkartierungIDS/IPS-UmgehungLaterale BewegungPenetrationstestsDienstprogramme & FrameworksRed Teaming
GitHublsecqt/portforwarder

PortForwarder

TCP-Portweiterleitungs-Dienstprogramm in C

Repository anzeigen
4111vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Windows TCP-Port-Weiterleiter

Ein leistungsstarker TCP-Port-Weiterleiter für Windows mit optionaler IP-Whitelist und ausführlicher Protokollierung.

Funktionen

  • ✅ TCP-Datenverkehr von einem lokalen Port zu einem beliebigen Remote-Host:Port weiterleiten
  • ✅ Optionale IP-Whitelist für erhöhte Sicherheit
  • ✅ Port 445 / SMB-Übernahmemodus (deaktiviert SMB und gibt Port 445 für Relay frei)
  • ✅ Unterstützt bis zu 100 gleichzeitige Verbindungen
  • ✅ Bidirektionale Datenweiterleitung mit Echtzeitstatistiken
  • ✅ Ausführlicher Modus zum Debuggen abgelehnter Verbindungen
  • ✅ Aggressive TCP-Keepalive-Einstellungen zur Erkennung toter Verbindungen
  • ✅ Weiterleitung mit geringer Latenz (Nagle-Algorithmus deaktiviert)
  • ✅ Ordentliches Herunterfahren (Strg+C)
  • ✅ Thread-sicheres Verbindungsmanagement

Anforderungen

  • Windows-Betriebssystem
  • Visual Studio (zur Kompilierung) oder MinGW-w64
  • Winsock2-Bibliothek (im Windows SDK enthalten)

Kompilierung

Verwendung der Visual Studio-Entwicklereingabeaufforderung:

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

Verwendung von MinGW-w64:

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

Verwendung

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

Parameter

  • <local_port> - Lokaler Port, auf dem gehört werden soll (1-65535)
  • <remote_host> - Remote-Hostname oder IP-Adresse, an die der Datenverkehr weitergeleitet werden soll
  • <remote_port> - Remote-Port, an den der Datenverkehr weitergeleitet werden soll (1-65535)
  • [allowed_ip] - Optional - Nur Verbindungen von dieser IP-Adresse akzeptieren
  • [-v] - Optional - Ausführlichen Modus aktivieren (abgelehnte Verbindungen anzeigen)

Beispiele

Grundlegende Port-Weiterleitung (keine IP-Filterung)

Lokalen Port 8080 an Remote-Server 192.168.1.100 Port 80 weiterleiten:

root@kitploit:~
PortForwarder.exe 8080 192.168.1.100 80

Port-Weiterleitung mit IP-Whitelist

Nur Verbindungen von 192.168.1.50 akzeptieren:

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

Port-Weiterleitung mit IP-Whitelist und ausführlicher Protokollierung

Abgelehnte Verbindungsversuche anzeigen:

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

Weiterleitung an Remote-Hostname

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

SSH-Port-Weiterleitung mit IP-Einschränkung

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

Port 445 / SMB-Übernahme (nur autorisierte Einsätze)

Auf SMB-Port 445 lauschen und an einen entfernten SMB-Endpunkt weiterleiten. Wenn 445 der lokale Port ist, gibt das Tool den Port zuerst vom integrierten Windows-SMB-Server frei:

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

Wenn der lokale Port 445 ist, wird das Tool vor dem Binden automatisch:

  1. Berechtigungen prüfen — bestätigen, dass der Prozess mit erhöhten Rechten (Administrator) ausgeführt wird. Falls nicht, wird mit einer klaren Meldung abgebrochen.
  2. Aktuellen Inhaber anzeigen — die PID/den Prozess identifizieren, der derzeit an Port 445 gebunden ist (normalerweise System, PID 4, über den srvnet-Kernel-Treiber).
  3. SMB deaktivieren und Port freigeben — LanmanServer und die Treiber srv2/srvnet stoppen (abhängige Dienste rekursiv stoppen), wobei jeder Schritt zur Transparenz ausgegeben wird.
  4. Überprüfen und binden — bestätigen, dass Port 445 frei ist, dann wie gewohnt binden und weiterleiten.

Beispielausgabe:

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)

⚠️ Das Stoppen dieser Dienste deaktiviert die Datei-/Druckerfreigabe auf dem Host für die Dauer des Einsatzes. Stellen Sie sie anschließend mit net start LanmanServer wieder her (die Treiber werden bei Bedarf oder beim nächsten Start neu gestartet). Nur auf Systemen verwenden, die Sie testen dürfen.

Anwendungsfälle

Lokale Entwicklung

  • Auf Dienste zugreifen, die in Containern oder VMs laufen
  • Ports von WSL2 an den Windows-Host weiterleiten
  • Webhook-Endpunkte lokal testen

Netzwerkbrücke

  • Verschiedene Netzwerksegmente überbrücken
  • Firewall-Beschränkungen umgehen (nur autorisierte Nutzung)
  • Von der DMZ auf interne Dienste zugreifen

Datenbankzugriff

  • Datenbankverbindungen mit IP-Whitelist sichern
  • Datenbankverkehr durch Sprunghosts tunneln
  • Lokale Datenbanken für die Remote-Entwicklung bereitstellen

Sicherheitstests

  • TCP-Datenverkehrsmuster überwachen und analysieren
  • IP-basierte Zugriffskontrollen testen
  • Verbindungsversuche mit ausführlichem Modus protokollieren

Ausgabeinformationen

Der Weiterleiter bietet eine detaillierte Protokollierung:

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)

Ausgabe im ausführlichen Modus

Wenn das Flag -v aktiviert ist, werden auch abgelehnte Verbindungen protokolliert:

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

Technische Details

Leistungsoptimierungen

  • Puffergröße: 8KB-Puffer für effiziente Datenübertragung
  • TCP_NODELAY: Nagle-Algorithmus für geringere Latenz deaktiviert
  • Keepalive: Aggressive Einstellungen (10s initial, 1s Intervall) zur Erkennung toter Verbindungen
  • Thread-Pool: Bis zu 100 gleichzeitige Verbindungen mit dedizierten Weiterleitungsthreads
  • Nicht-blockierender Accept: Zeitüberschreitungsbasierte select() für reaktionsschnelles Herunterfahren

Verbindungshandhabung

Jede Verbindung erzeugt einen dedizierten Weiterleitungsthread, der:

  1. Verbindung zum Remote-Host herstellt
  2. Socket-Optionen setzt (Zeitüberschreitungen, Keepalive, TCP_NODELAY)
  3. select() für bidirektionale Weiterleitung verwendet
  4. In jede Richtung übertragene Bytes verfolgt
  5. Beide Sockets bei Beendigung ordnungsgemäß schließt

Fehlerbehandlung

Der Weiterleiter behandelt häufige Netzwerkfehler ordnungsgemäß:

  • WSAECONNRESET - Verbindung vom Peer zurückgesetzt
  • WSAECONNABORTED - Verbindung abgebrochen
  • WSAENETRESET - Netzwerk verursachte Trennung
  • WSAETIMEDOUT - Verbindungszeitüberschreitung

Thread-Sicherheit

  • Kritische Abschnitte schützen das Verbindungsarray
  • Volatile running-Flag für sauberes Herunterfahren
  • Thread-Synchronisation während der Bereinigung

Sicherheitshinweise

⚠️ Wichtige Sicherheitshinweise:

  1. IP-Whitelist: Verwenden Sie den Parameter [allowed_ip] in der Produktion, um den Zugriff einzuschränken
  2. Keine Verschlüsselung: Dieser Weiterleiter verschlüsselt den Datenverkehr nicht. Verwenden Sie für sensible Daten SSH-Tunnel oder VPNs
  3. Authentifizierung: Keine integrierte Authentifizierung. Stellen Sie sicher, dass der entfernte Dienst über eine angemessene Sicherheit verfügt
  4. Firewall: Konfigurieren Sie die Windows-Firewall, um den Zugriff auf den lauschenden Port einzuschränken
  5. Protokollierung: Deaktivieren Sie den ausführlichen Modus in der Produktion, um übermäßiges Log-Wachstum zu vermeiden
  6. Ressourcengrenzen: Das Limit von 100 Verbindungen verhindert Ressourcenerschöpfung

Fehlerbehebung

Port bereits belegt

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

Lösung: Eine andere Anwendung verwendet den Port. Wählen Sie einen anderen lokalen Port oder stoppen Sie den konkurrierenden Dienst.

Keine Verbindung zum Remote-Host möglich

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

Lösung: Überprüfen Sie, ob der Remote-Host erreichbar ist und der Dienst auf dem angegebenen Port läuft.

Zugriff verweigert

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

Lösung: Ports unter 1024 erfordern möglicherweise Administratorrechte. Führen Sie das Programm als Administrator aus oder verwenden Sie eine höhere Portnummer.

Verbindung abgelehnt

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

Lösung: Aktivieren Sie den ausführlichen Modus (-v), um abgelehnte IPs zu sehen, oder entfernen Sie die IP-Filterung.

Stoppen des Weiterleiters

Drücken Sie Strg+C, um den Weiterleiter ordnungsgemäß zu stoppen. Er wird:

  1. Neue Verbindungen nicht mehr akzeptieren
  2. Auf das Ende aktiver Verbindungen warten (bis zu 5 Sekunden)
  3. Alle Sockets schließen
  4. Ressourcen bereinigen
  5. Bereinigungsbestätigung anzeigen

Einschränkungen

  • Nur Windows: Verwendet Winsock2-API (nicht portabel auf Linux/macOS)
  • Nur IPv4: Unterstützt derzeit nur IPv4-Adressen
  • Einzelner IP-Filter: Es kann nur eine erlaubte IP-Adresse angegeben werden
  • Kein Lastausgleich: Datenverkehr wird an einen einzelnen Remote-Endpunkt weitergeleitet
  • Keine Datenverkehrsinspektion: Reine TCP-Weiterleitung ohne Inhaltsanalyse
  • Keine Bandbreitenbegrenzung: Keine integrierte Drosselung oder QoS

Zukünftige Erweiterungen

Mögliche Funktionen für zukünftige Versionen:

  • IPv6-Unterstützung
  • Mehrere IP-Whitelist/Blacklist
  • SSL/TLS-Verschlüsselungswrapper
  • Dashboard für Verkehrsstatistiken
  • Unterstützung von Konfigurationsdateien
  • Bandbreitenbegrenzung
  • Round-Robin-Lastausgleich
  • Begrenzung der Verbindungsrate
  • Plattformübergreifende Unterstützung (Linux/macOS)

Lizenz

Diese Software wird wie besehen für Bildungszwecke und legitime Netzwerkverwaltungszwecke bereitgestellt. Verwenden Sie sie verantwortungsbewusst und in Übereinstimmung mit den geltenden Gesetzen und Vorschriften.

Mitwirken

Beiträge sind willkommen! Bitte stellen Sie sicher:

  • Der Code dem vorhandenen Stil folgt
  • Änderungen auf Windows gut getestet sind
  • Kommentare komplexe Logik erklären
  • README für neue Funktionen aktualisiert wird

Support

Bei Problemen, Fragen oder Feature-Wünschen öffnen Sie bitte ein Issue im Projekt-Repository.

Sie können meine Arbeit auch auf Patreon unterstützen.


Tool herunterladen