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
bore — Einfacher TCP-Tunnel in Rust, der lokale Ports auf einem entfernten Server bereitstellt und NAT-Firewalls umgeht. Leichtgewichtig, selbst hostbar und einfach zu installieren. | Kitploit
Tools/GitHubGitHub/ekzhang/bore
Allgemeine DienstprogrammeNetzwerksicherheit
GitHubekzhang/bore

bore

Einfacher TCP-Tunnel in Rust, der lokale Ports auf einem entfernten Server bereitstellt und NAT-Firewalls umgeht. Leichtgewichtig, selbst hostbar und einfach zu installieren.

Repository anzeigenWebseite
11.4k514vor 6 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

bore

Build status Crates.io

Ein moderner, einfacher TCP-Tunnel in Rust, der lokale Ports auf einem entfernten Server bereitstellt und dabei standardmäßige NAT-Verbindungsfirewalls umgeht. Das ist alles, was er tut: nicht mehr und nicht weniger.

Video-Demo

root@kitploit:~
# Installation (erfordert Rust, siehe Alternativen unten)
cargo install bore-cli

# Auf deinem lokalen Rechner
bore local 8000 --to bore.pub

Dieser Befehl macht deinen lokalen Port unter localhost:8000 im öffentlichen Internet unter bore.pub:<PORT> verfügbar, wobei die Portnummer zufällig zugewiesen wird.

Ähnlich wie localtunnel und ngrok, außer dass bore als hocheffizientes, meinungsfreies Werkzeug zur Weiterleitung von TCP-Verkehr gedacht ist, das einfach zu installieren und leicht selbst zu hosten ist – ohne Schnickschnack.

(bore umfasst etwa 400 Zeilen sicheren, asynchronen Rust-Codes und ist trivial einzurichten – führe einfach eine einzelne Binärdatei für Client und Server aus.)

Installation

macOS

bore ist als Homebrew-Core-Formel verpackt.

root@kitploit:~
brew install bore-cli

Linux

Arch Linux

bore ist im AUR als bore verfügbar.

root@kitploit:~
yay -S bore # oder dein bevorzugter AUR-Helfer

Gentoo Linux

bore ist im gentoo-zh Overlay verfügbar.

root@kitploit:~
sudo eselect repository enable gentoo-zh
sudo emerge --sync gentoo-zh
sudo emerge net-proxy/bore

Binäre Distribution

Andernfalls ist der einfachste Weg, bore zu installieren, über vorgefertigte Binärdateien. Diese sind auf der Releases-Seite für macOS, Windows und Linux verfügbar. Entpacke einfach die entsprechende Datei für deine Plattform und verschiebe die ausführbare bore-Datei in einen Ordner in deinem PATH.

Cargo

Du kannst bore auch aus dem Quellcode mit Cargo, dem Rust-Paketmanager, erstellen. Dieser Befehl installiert die bore-Binärdatei an einem benutzerzugänglichen Pfad.

root@kitploit:~
cargo install bore-cli

Docker

Wir veröffentlichen auch versionierte Docker-Images für jedes Release. Das Image ist für eine AMD 64-Bit-Architektur gebaut. Sie sind mit der spezifischen Version getaggt und ermöglichen es dir, die statisch gelinkte bore-Binärdatei aus einem minimalen "scratch"-Container auszuführen.

root@kitploit:~
docker run -it --init --rm --network host ekzhang/bore <ARGS>

Detaillierte Nutzung

Dieser Abschnitt beschreibt die detaillierte Nutzung des bore-CLI-Befehls.

Lokale Weiterleitung

Du kannst einen Port auf deinem lokalen Rechner mit dem Befehl bore local weiterleiten. Dieser nimmt ein positionsabhängiges Argument, den zu leitenden lokalen Port, sowie eine obligatorische Option --to, die die Adresse des entfernten Servers angibt.

root@kitploit:~
bore local 5000 --to bore.pub

Optional kannst du eine Option --port übergeben, um einen bestimmten Port auf dem entfernten Server auszuwählen. Der Befehl schlägt fehl, wenn dieser Port nicht verfügbar ist. Mit --local-host kannst du außerdem einen anderen Host in deinem lokalen Netzwerk angeben, anstelle der Loopback-Adresse localhost.

Die vollständigen Optionen sind unten aufgeführt.

root@kitploit:~
Startet einen lokalen Proxy zum entfernten Server

Verwendung: bore local [OPTIONEN] --to <ZIEL> <LOKALER_PORT>

Argumente:
  <LOKALER_PORT>  Der lokale Port, der freigegeben werden soll [env: BORE_LOCAL_PORT=]

Optionen:
  -l, --local-host <HOST>  Der lokale Host, der freigegeben werden soll [standard: localhost]
  -t, --to <ZIEL>          Adresse des entfernten Servers, um lokale Ports freizugeben [env: BORE_SERVER=]
  -p, --port <PORT>        Optionaler Port auf dem entfernten Server zur Auswahl [standard: 0]
  -s, --secret <SECRET>    Optionales Geheimnis für die Authentifizierung [env: BORE_SECRET]
  -h, --help               Hilfe anzeigen

Selbsthosting

Wie in den Startanweisungen erwähnt, gibt es eine öffentliche Instanz des bore-Servers, die unter bore.pub läuft. Wenn du bore jedoch auf deinem eigenen Netzwerk selbst hosten möchtest, kannst du dies mit dem folgenden Befehl tun:

root@kitploit:~
bore server

Das ist alles! Nachdem der Server unter einer bestimmten Adresse gestartet ist, kannst du den Befehl bore local mit der Option --to <ADRESSE> aktualisieren, um einen lokalen Port an diesen entfernten Server weiterzuleiten.

Es ist möglich, unterschiedliche IP-Adressen für den Kontrollserver und die Tunnel anzugeben. Dieses Setup ist nützlich, wenn der Kontrollserver in einem privaten Netzwerk liegen soll, während Tunnelverbindungen über eine öffentliche Schnittstelle erfolgen, oder umgekehrt.

Die vollständigen Optionen für den Befehl bore server sind unten aufgeführt.

root@kitploit:~
Führt den entfernten Proxy-Server aus

Verwendung: bore server [OPTIONEN]

Optionen:
      --min-port <MIN_PORT>          Mindestanzahl akzeptierter TCP-Portnummern [env: BORE_MIN_PORT=] [standard: 1024]
      --max-port <MAX_PORT>          Höchstzahl akzeptierter TCP-Portnummern [env: BORE_MAX_PORT=] [standard: 65535]
  -s, --secret <SECRET>              Optionales Geheimnis für die Authentifizierung [env: BORE_SECRET]
      --bind-addr <BIND_ADDR>        IP-Adresse, an die gebunden wird; Clients müssen diese erreichen [standard: 0.0.0.0]
      --bind-tunnels <BIND_TUNNELS>  IP-Adresse, an der Tunnel lauschen; standardmäßig --bind-addr
  -h, --help                         Hilfe anzeigen

Protokoll

Es gibt einen impliziten Kontrollport unter 7835, der verwendet wird, um bei Bedarf neue Verbindungen zu erstellen. Beim Initialisieren sendet der Client eine "Hello"-Nachricht an den Server auf dem TCP-Kontrollport und fragt an, einen ausgewählten entfernten Port zu proxen. Der Server antwortet dann mit einer Bestätigung und beginnt, auf externe TCP-Verbindungen zu lauschen.

Immer wenn der Server eine Verbindung auf dem entfernten Port erhält, erzeugt er eine sichere UUID für diese Verbindung und sendet sie an den Client zurück. Der Client öffnet dann einen separaten TCP-Stream zum Server und sendet eine "Accept"-Nachricht mit der UUID auf diesem Stream. Der Server proxet dann die beiden Verbindungen miteinander.

Aus Gründen der Korrektheit und zur Vermeidung von Speicherlecks werden eingehende Verbindungen vom Server nur maximal 10 Sekunden lang gespeichert, bevor sie verworfen werden, falls der Client sie nicht akzeptiert.

Authentifizierung

Bei einer benutzerdefinierten Bereitstellung von bore server kannst du optional ein Geheimnis verlangen, um zu verhindern, dass der Server von anderen genutzt wird. Das Protokoll erfordert, dass Clients den Besitz des Geheimnisses bei jeder TCP-Verbindung überprüfen, indem sie zufällige Herausforderungen in Form von HMAC-Codes beantworten. (Dieses Geheimnis wird nur für den initialen Handshake verwendet; der gesamte weitere Verkehr wird standardmäßig nicht verschlüsselt.)

root@kitploit:~
# auf dem Server
bore server --secret mein_geheimes_passwort

# auf dem Client
bore local <LOKALER_PORT> --to <ZIEL> --secret mein_geheimes_passwort

Falls kein Geheimnis in den Argumenten angegeben ist, versucht bore auch, die Umgebungsvariable BORE_SECRET auszulesen.

Danksagungen

Erstellt von Eric Zhang (@ekzhang1). Lizenziert unter der MIT-Lizenz.

Der Autor dankt den Mitwirkenden und Betreuern des Tokio-Projekts, die es ermöglicht haben, ergonomische und effiziente Netzwerkdienste in Rust zu schreiben.

Tool herunterladen