EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

websockify – Online in der Cloud

Führen Sie websockify im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl websockify, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


websockify – WebSockets-zu-TCP-Socket-Brücke

ZUSAMMENFASSUNG


websockify [Optionen] [source_addr:]source_port target_addr:target_port
websockify [Optionen] [source_addr:]source_port – WRAP_COMMAND_LINE

OPTIONAL


-h, --help Diese Hilfemeldung anzeigen und beenden
-v, --verbose ausführliche Nachrichten und Datenverkehr pro Frame
--record=DATEI zeichnet Sitzungen in DATEI auf.[Sitzungsnummer]
-D, --daemon wird zum Daemon (Hintergrundprozess)
--run-once verarbeitet eine einzelne WebSocket-Verbindung und beendet sie
--timeout=TIMEOUT nach TIMEOUT Sekunden wird beendet, wenn keine Verbindung besteht
--cert=CERT SSL-Zertifikatdatei
--key=KEY SSL-Schlüsseldatei (falls vom Zertifikat getrennt)
--ssl-only verbietet unverschlüsselte Verbindungen
--web=DIR führt den Webserver auf demselben Port aus. Dateien aus DIR bereitstellen.
--wrap-mode=MODE Aktion, die ausgeführt werden soll, wenn das umschlossene Programm beendet wird oder
dämonisiert: Beenden (Standard), Ignorieren, Respawnen

BESCHREIBUNG


Auf der einfachsten Ebene übersetzt websockify lediglich den WebSockets-Verkehr in normales TCP
Socket-Verkehr. Websockify akzeptiert den WebSockets-Handshake, analysiert ihn und beginnt dann
Weiterleitung des Datenverkehrs zwischen dem Client und dem Ziel in beide Richtungen.

websockify hieß früher wsproxy und war Teil des noVNC-Projekts.

ANMERKUNG


WebSockets binär technische Daten
Websockify unterstützt alle Versionen des WebSockets-Protokolls (Hixie und HyBI). Die älteren
Hixie-Versionen des Protokolls unterstützen nur UTF-8-Textnutzdaten. Um zu transportieren
Bei Binärdaten über UTF-8 muss eine Kodierung verwendet werden, um die Daten in UTF-8 zu kapseln.
Websockify verwendet Base64, um den gesamten Datenverkehr zum und vom Client zu kodieren. Dies hat keinen Einfluss
die Daten zwischen websockify und dem Server.

Verschlüsselte WebSocket Verbindungen (wss://)
Um den Datenverkehr mit dem WebSocket-URI-Schema „wss://“ zu verschlüsseln, müssen Sie eine generieren
Zertifikat für Websockify zum Laden. Standardmäßig lädt websockify einen Zertifikatdateinamen
self.pem, aber die Option --cert=CERT kann den Dateinamen überschreiben. Sie können ein selbst erstelltes
Signiertes Zertifikat mit OpenSSL. Wenn Sie nach dem allgemeinen Namen gefragt werden, verwenden Sie den Hostnamen des
Server, auf dem der Proxy ausgeführt wird:

openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem

Websock Javascript Bibliothek
Die Javascript-Bibliothek websock.js (siehe https://github.com/kanaka/websockify).
stellt ein Websock-Objekt bereit, das dem Standard-WebSocket-Objekt ähnelt, jedoch Websock
ermöglicht die Kommunikation mit rohen TCP-Sockets (d. h. dem Binärstream) über websockify. Das
wird durch Base64-Codierung des Datenstroms zwischen Websock und websockify erreicht.

Websock verfügt über eine integrierte Empfangswarteschlangenpufferung. Das Nachrichtenereignis enthält kein aktuelles Ereignis
Daten, sondern lediglich eine Benachrichtigung, dass neue Daten verfügbar sind. Mehrere rQ*-Methoden
stehen zum Auslesen binärer Daten aus der Empfangswarteschlange zur Verfügung.

Die Websock-API ist auf der API-Wiki-Seite websock.js dokumentiert:

https://github.com/kanaka/websockify/wiki/websock.js

Im Abschnitt „Ein Programm verpacken“ unten finden Sie ein Beispiel für die Verwendung von Websock und websockify als
Browser-Telnet-Client (wstelnet.html).

Zusätzliche websockify Funktionen
Diese sind für den Grundbetrieb nicht notwendig.

* Dämonisierung: Wenn die Option -D angegeben ist, wird websockify im Hintergrund ausgeführt als
ein Daemon-Prozess.

* SSL (der wss:// WebSockets-URI): Dies wird von websockify automatisch erkannt
Das erste vom Client gesendete Byte abhören und dann den Socket umschließen, wenn dies der Fall ist
Daten beginnen mit „\x16“ oder „\x80“ (zeigt SSL an).

* Flash-Sicherheitsrichtlinie: Websockify erkennt Flash-Sicherheitsrichtlinienanforderungen (wiederum von
(Sniffing des ersten Pakets) und antwortet mit einer entsprechenden Flash-Sicherheitsrichtlinie
Antwort (und schließt dann den Port). Dies bedeutet, dass es keine separate Flash-Sicherheitsrichtlinie gibt
Für die Unterstützung des Flash-WebSockets-Fallback-Emulators wird ein Server benötigt.

* Sitzungsaufzeichnung: Diese Funktion ermöglicht die Aufzeichnung des gesendeten und gesendeten Datenverkehrs
vom Client empfangenen Dateien mit der Option --record in eine Datei kopieren.

* Mini-Webserver: Websockify kann normale Webanfragen auf dem Server erkennen und darauf reagieren
Derselbe Port wie der WebSockets-Proxy und die Flash-Sicherheitsrichtlinie. Diese Funktionalität ist
Aktivieren Sie es mit der Option --web DIR, wobei DIR das Stammverzeichnis des Webverzeichnisses ist
Dienen.

* Ein Programm verpacken: siehe den Abschnitt „Ein Programm verpacken“ weiter unten.

einwickeln a Programm
Zusätzlich zum Proxying von einer Quelladresse zu einer Zieladresse (die sich möglicherweise auf einem
anderes System) hat websockify die Möglichkeit, ein Programm auf dem lokalen System zu starten und
Proxy-WebSockets-Verkehr an einen normalen TCP-Port, der dem Programm gehört bzw. an dieses gebunden ist.

Dies wird mit einer kleinen LD_PRELOAD-Bibliothek (rebind.so) erreicht, die bind() abfängt
Systemaufrufe durch das Programm. Der angegebene Port wird auf einen neuen kostenlosen Localhost/Loopback verschoben
hoher Hafen. websockify leitet dann den WebSockets-Verkehr, der an den ursprünglichen Port geleitet wird, weiter
neuer (verschobener) Port des Programms.

Der Programmumbruchmodus wird aufgerufen, indem das Ziel durch -- gefolgt vom Programm ersetzt wird
Befehlszeile zum Umbrechen.

`./websockify 2023 -- PROGRAM ARGS`

Die Option --wrap-mode kann verwendet werden, um anzugeben, welche Aktion beim Umschließen ausgeführt werden soll
Programm wird beendet oder dämonisiert.

Hier ist ein Beispiel für die Verwendung von websockify zum Umschließen des vncserver-Befehls (welcher hinterlegt ist).
selbst) zur Verwendung mit noVNC:

`./websockify 5901 --wrap-mode=ignore -- vncserver -geometry 1024x768 :1`

Hier ist ein Beispiel für das Umschließen von telnetd (von krb5-telnetd). telnetd wird nach dem beendet
Die Verbindung wird geschlossen, sodass der Wrap-Modus so eingestellt ist, dass der Befehl neu gestartet wird:

`sudo ./websockify 2023 --wrap-mode=respawn --telnetd -debug 2023`

Die Seite wstelnet.html demonstriert einen einfachen WebSockets-basierten Telnet-Client.

Nutzen Sie websockify online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad