EnglischFranzösischSpanisch

Server ausführen | Ubuntu > | Fedora > |


OnWorks-Favicon

websockify - Online in der Cloud

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

Dies ist der Befehl websockify, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME


websockify - WebSockets zu TCP-Socket-Bridge

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 Sitzungen in DATEI aufzeichnen.[session_number]
-D, --daemon wird ein Daemon (Hintergrundprozess)
--run-once behandelt eine einzelne WebSocket-Verbindung und beendet das Programm
--timeout=TIMEOUT nach TIMEOUT Sekunden beenden, wenn nicht verbunden
--cert=CERT SSL-Zertifikatsdatei
--key=KEY SSL-Schlüsseldatei (wenn vom Zertifikat getrennt)
--ssl-only verbietet unverschlüsselte Verbindungen
--web=DIR Webserver auf demselben Port ausführen. Dateien aus DIR bereitstellen.
--wrap-mode=MODE Aktion, die ausgeführt werden soll, wenn das verpackte Programm beendet wird oder
daemonisiert: Beenden (Standard), ignorieren, respawnen

BESCHREIBUNG


Auf der grundlegendsten Ebene übersetzt websockify nur den WebSockets-Datenverkehr in normales TCP
Socket-Traffic. 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-Textnutzlasten. Um zu transportieren
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 codieren. Dies hat keinen Einfluss
die Daten zwischen Websockify und dem Server.

Verschlüsselte WebSocket Verbindungen (wss://)
Um den Datenverkehr mit dem WebSocket 'wss://'-URI-Schema zu verschlüsseln, müssen Sie a
Zertifikat zum Laden von Websockify. Standardmäßig lädt Websockify einen Zertifikatsdateinamen
self.pem, aber die Option --cert=CERT kann den Dateinamen überschreiben. Sie können ein Selbst-
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

Websocke Javascript Bibliothek
Die websock.js (siehe https://github.com/kanaka/websockify) Javascript-Bibliotheksbibliothek
stellt ein Websock-Objekt bereit, das dem Standard-WebSocket-Objekt ähnelt, aber Websock
ermöglicht die Kommunikation mit rohen TCP-Sockets (dh dem binären Stream) über websockify. Dies
wird durch base64-Kodierung des Datenstroms zwischen Websock und websockify erreicht.

Websock verfügt über eine integrierte Pufferung für Empfangswarteschlangen; das Nachrichtenereignis enthält kein aktuelles
Daten, sondern lediglich eine Benachrichtigung, dass neue Daten verfügbar sind. Mehrere rQ*-Methoden
stehen zum Auslesen von Binärdaten aus der Empfangswarteschlange zur Verfügung.

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

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

Ein Beispiel für die Verwendung von Websock und websockify als
Browser-Telnet-Client (wstelnet.html).

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

* Dämonisierung: Wenn die Option -D angegeben ist, läuft websockify im Hintergrund als
ein Dämonprozess.

* SSL (die wss:// WebSockets URI): Dies wird von websockify automatisch erkannt von
Schnüffeln des ersten vom Client gesendeten Bytes und anschließendes Umhüllen des Sockets, wenn die
Daten beginnen mit '\x16' oder '\x80' (zeigt SSL an).

* Flash-Sicherheitsrichtlinie: websockify erkennt Anfragen zu Flash-Sicherheitsrichtlinien (wieder von
Sniffing des ersten Pakets) und antwortet mit einer entsprechenden Flash-Sicherheitsrichtlinie
Antwort (und schließt dann den Port). Das bedeutet keine separate Flash-Sicherheitsrichtlinie
Server wird benötigt, um den Flash-WebSockets-Fallback-Emulator zu unterstützen.

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

* Mini-Webserver: websockify kann normale Webanfragen auf dem . erkennen und beantworten
gleichen Port wie der WebSockets-Proxy und die Flash-Sicherheitsrichtlinie. Diese Funktion ist
mit der Option --web DIR aktivieren, wobei DIR das Stammverzeichnis des Webverzeichnisses ist
Dienen.

* Programm verpacken: siehe Abschnitt "Programm verpacken" weiter unten.

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

Das 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 localhost/loopback free verschoben
hoher Hafen. websockify leitet dann den an den ursprünglichen Port gerichteten WebSockets-Datenverkehr an den
neuer (umgezogener) Port des Programms.

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

`./websockify 2023 -- PROGRAMM ARGS`

Die Option --wrap-mode kann verwendet werden, um anzugeben, welche Aktion ausgeführt werden soll, wenn die
Programm beendet oder dämonisiert.

Hier ist ein Beispiel für die Verwendung von websockify zum Umschließen des vncserver-Befehls (welche Hintergründe
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 erneut erscheint:

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

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

Verwenden Sie websockify online mit den onworks.net-Diensten


Ad


Ad