Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
gonc — Netcat mit automatisierter NAT-Traversierung, sicherem P2P und erweiterten Funktionen für Shell-Zugriff, Dateiübertragung und Netzwerk-Proxying. | Kitploit
Tools/GitHubGitHub/threatexpert/gonc
Allgemeine DienstprogrammeVerschlüsselungs-/EntschlüsselungstoolsWeb-Proxys & AbfangenDatenexfiltrationNetzwerksicherheitPenetrationstestsCommand and ControlRed TeamingRemote-Access-Tool
GitHubthreatexpert/gonc

gonc

7336277vor 5 TagenVon Kitploit geprüft

Netcat mit automatisierter NAT-Traversierung, sicherem P2P und erweiterten Funktionen für Shell-Zugriff, Dateiübertragung und Netzwerk-Proxying.

Repository anzeigenWebseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Einführung in gonc

README auf 中文 、 English

gonc ist ein auf Golang basierendes netcat-Tool, das die Peer-to-Peer-Kommunikation erleichtern soll. Seine Hauptmerkmale sind:

  • 🔁 Automatisiertes NAT-Traversal: Keine Konfiguration erforderlich. Beide Seiten müssen sich nur auf eine Passphrase einigen. Durch die Verwendung des Parameters -p2p können Peers automatisch die Netzwerkadressen des jeweils anderen entdecken und eine Punkt-zu-Punkt-Verbindung durch NAT-Traversal aufbauen, wobei öffentliche STUN- und MQTT-Dienste für den Adressaustausch genutzt werden.

  • 🔒 Ende-zu-Ende-Verschlüsselung mit gegenseitiger Authentifizierung: Unterstützt TLS für TCP und DTLS für UDP-verschlüsselte Übertragung, mit passphrasenbasierter gegenseitiger Identitätsauthentifizierung.

  • 🧩 Flexible Dienstkonfiguration: Mit dem Parameter -e können Sie die Anwendung flexibel so konfigurieren, dass sie jede Verbindung bedient. Zum Beispiel kann -e /bin/sh eine entfernte cmd-Shell bereitstellen. Sie können auch integrierte virtuelle Befehle für einen praktischen SOCKS5-Dienst, HTTP-Dateidienst und Traffic-Weiterleitung verwenden.


Download der neuesten Version

docs


Verwandte Projekte

  • gonc-gui — eine Desktop- (Windows) und Android-App, die auf gonc aufbaut: bequeme geräteübergreifende, netzwerkübergreifende P2P-Direktverbindung und sichere Dateiübertragung. Teilen Sie einfach eine Passphrase (oder scannen Sie einen QR-Code); keine Kommandozeile erforderlich.

Verwendungsbeispiele

Grundlegende Verwendung

  • Verwenden Sie es wie nc:

    gonc www.baidu.com 80
    gonc -tls www.baidu.com 443
    

    kann nur Punkt-zu-Punkt-Verbindungen basierend auf IP und Port herstellen.

  • Jetzt können Sie auch Punkt-zu-Punkt-Verbindungen basierend auf einer gemeinsamen Passphrase mit automatisiertem NAT-Traversal herstellen.

    Das folgende Diagramm zeigt den Prozess, wie gonc eine P2P-Verbindung zwischen einem Heimbreitbandnetzwerk (Hard NAT) und einem Peer in einem Mobilfunknetzwerk (Symmetric NAT) herstellt. Da beide Seiten IPv6 haben, wird auf beiden Seiten die Option -4 verwendet, um IPv4 zu erzwingen und so das NAT-Traversal zu demonstrieren.

    hole-punching

P2P-Tunnel und HTTP-Dateiserver

  • Beide Seiten einigen sich auf dieselbe Passphrase. Auf der Senderseite starten Sie einen HTTP-Dateiserver, um die freizugebenden Dateien oder Verzeichnisse bereitzustellen. Die Option -httpserver akzeptiert mehrere Pfade, wobei jeder entweder eine einzelne Datei oder ein Verzeichnis sein kann:

    gonc -p2p <passphrase> -httpserver c:/RootDir1 c:/RootDir2
    
  • Auf der Empfängerseite gibt es zwei Optionen:

  1. Das gesamte Verzeichnis automatisch herunterladen

    Nach Ausführung des folgenden Befehls werden alle Dateien rekursiv auf den lokalen Rechner heruntergeladen. Wenn der Vorgang unterbrochen wird, wird er beim erneuten Ausführen des Befehls automatisch an der Stelle fortgesetzt, an der er aufgehört hat:

    gonc -p2p <passphrase> -download c:/SavePath
    
  2. Über den Browser durchsuchen und selektiv herunterladen

    Diese Option startet den Download nicht automatisch. Stattdessen müssen Sie manuell einen Browser öffnen und http://127.0.0.1:9999 aufrufen, um die Dateiliste des Peers anzuzeigen und Dateien nach Bedarf herunterzuladen:

    gonc -p2p <passphrase> -httplocal-port 9999
    

    Wenn Sie ein bestimmtes Unterverzeichnis herunterladen müssen, wird der Browser unpraktisch, aber Sie können es so machen:

    gonc -http-download c:/SavePath http://127.0.0.1:9999/subdir
    

Sichere verschlüsselte P2P-Kommunikation

  • Stellen Sie eine sichere verschlüsselte P2P-Kommunikation zwischen zwei verschiedenen Netzwerken her, indem Sie sich auf eine Passphrase einigen (verwenden Sie gonc -psk ., um eine Passphrase mit hoher Entropie zu generieren, die passphrase ersetzt). Diese Passphrase wird für die gegenseitige Entdeckung und Zertifikatsableitung verwendet und gewährleistet die Kommunikationssicherheit mit TLS 1.3.

    gonc -p2p passphrase
    

    Verwenden Sie auf der anderen Seite dieselben Parameter (das Programm versucht automatisch eine TCP- oder UDP-Kommunikation (TCP bevorzugt), handelt Rollen aus (TLS-Client/Server) und schließt das TLS-Protokoll ab):

    gonc -p2p passphrase
    

    Beachten Sie, dass das andere Ende, wenn es mit dem Ausführen zögert, beendet wird, wenn es innerhalb von etwa einer halben Minute kein anderes Ende zum Informationsaustausch finden kann. Daher wird auch ein Wartemechanismus basierend auf MQTT-Nachrichtenabonnement unterstützt, wobei -mqtt-wait und -mqtt-hello verwendet werden, um den Zeitpunkt des P2P-Starts beider Parteien zu synchronisieren. Zum Beispiel wartet das Folgende kontinuierlich mit -mqtt-wait,

    gonc -p2p passphrase -mqtt-wait
    

    Auf der anderen Seite,

    gonc -p2p passphrase -mqtt-hello
    
  • Überprüfen Sie Ihren NAT-Typ

    gonc -nat-checker
    

    Dies überprüft Ihre IPv6- und IPv4-TCP- und UDP-NAT-Adressen und analysiert Portänderungen nach NAT. Wenn keine TCP6- oder UDP6-Adressen aufgeführt sind, bedeutet dies, dass Sie kein IPv6 haben. Jede Protokolladresse endet mit "(easy)", was die höchste Erfolgsrate für Hole Punching anzeigt; "(hard)" zeigt eine höhere Erfolgsrate an; und "(symm)" ist am schwierigsten. Symm erfordert, dass das andere Ende entweder "easy" oder "hard" ist, damit P2P funktioniert.

Reverse Shell (Pseudo-Terminal-Unterstützung für UNIX-ähnliche Systeme)

  • Listener (verwendet nicht -keep-open, akzeptiert nur eine Verbindung; keine Authentifizierung mit -psk):
    gonc -tls -exec ":sh /bin/bash" -l 1234
    
  • Verbinden, um eine Shell zu erhalten (unterstützt TAB, Ctrl+C usw.):
    gonc -tls -pty x.x.x.x 1234
    
  • Verwenden Sie P2P für eine Reverse Shell (passphrase wird zur Authentifizierung verwendet und gewährleistet sichere Kommunikation mit TLS 1.3):
    gonc -exec ":sh /bin/bash" -p2p passphrase
    
    Auf der anderen Seite:
    gonc -pty -p2p passphrase
    

Übertragungsgeschwindigkeitstest

  • Daten senden und Übertragungsgeschwindigkeit messen (integrierte /dev/zero und /dev/urandom):
    gonc.exe -send /dev/zero -P x.x.x.x 1234
    
    Beispielausgabe:
    IN: 76.8 MiB (80543744 bytes), 3.3 MiB/s | OUT: 0.0 B (0 bytes), 0.0 B/s | 00:00:23
    
    Auf der Empfängerseite:
    gonc -P -l 1234 > NUL
    

P2P-Tunnel und SOCKS5 / HTTP-Proxy

  • Warten Sie, bis der Tunnel aufgebaut ist:

    gonc -p2p passphrase -linkagent
    
  • Starten Sie auf der anderen Seite einen lokalen SOCKS5-/HTTP-Proxy-Dienst auf Port 3080, um auf das entfernte Netzwerk zuzugreifen:

    # The link option controls how the local and remote proxy endpoints are created.
    # Use none to indicate that no listening port is opened on that side:
    gonc -p2p passphrase -link "3080;none"
    

    Wenn Sie als Nächstes beispielsweise eine Verbindung zu 10.0.0.1:3389 im entfernten Netzwerk herstellen möchten, geben Sie einfach die folgende Adresse in Ihren lokalen Remote-Desktop-Client ein:

    10.0.0.1-3389.gonc.cc:3080
    
Tool herunterladen