Aceasta este comanda websockify care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
websockify - Puntea de la WebSockets la socket TCP
REZUMAT
websockify [opțiuni] [source_addr:]source_port target_addr:target_port
websockify [opțiuni] [source_addr:]source_port -- WRAP_COMMAND_LINE
OPŢIUNI
-h, --help afișează acest mesaj de ajutor și ieși
-v, --verbose mesaje detaliate și trafic per cadru
--record=FILE înregistrează sesiunile în FILE.[session_number]
-D, --daemon devine un daemon (proces de fundal)
--run-once gestionează o singură conexiune WebSocket și iese
--timeout=TIMEOUT după TIMEOUT secunde ies când nu sunt conectate
--cert=Fișier certificat SSL CERT
--key=KEY fișier cheie SSL (dacă este separat de cert)
--ssl-only interzice conexiunile necriptate
--web=DIR rulează serverul web pe același port. Serviți fișiere din DIR.
--wrap-mode=Mod acțiune de întreprins atunci când programul împachetat iese sau
daemonizes: ieșire (implicit), ignorare, respawn
DESCRIERE
La cel mai elementar nivel, websockify doar traduce traficul WebSockets în TCP normal
trafic de prize. Websockify acceptă strângerea de mână WebSockets, o analizează și apoi începe
redirecționarea traficului între client și țintă în ambele sensuri.
websockify a fost numit anterior wsproxy și a făcut parte din proiectul noVNC.
NOTE
prize web binar de date
Websockify acceptă toate versiunile protocolului WebSockets (Hixie și HyBI). Bătrânul
Versiunile Hixie ale protocolului acceptă numai încărcături utile de text UTF-8. Pentru a transporta
date binare peste UTF-8 trebuie folosită o codificare pentru a încapsula datele în UTF-8.
Websockify folosește base64 pentru a codifica tot traficul către și de la client. Acest lucru nu afectează
datele dintre websockify și server.
criptat WebSockets Conexiuni (wss://)
Pentru a cripta traficul utilizând schema URI WebSocket „wss://” trebuie să generați un
certificat pentru încărcare websockify. În mod implicit, websockify încarcă un nume de fișier certificat
self.pem, dar opțiunea --cert=CERT poate suprascrie numele fișierului. Puteți genera un auto-
certificat semnat folosind openssl. Când vi se cere numele comun, utilizați numele de gazdă al
serverul pe care va rula proxy-ul:
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
Websock Javascript bibliotecă
Biblioteca de biblioteci Javascript websock.js (vezi https://github.com/kanaka/websockify)
furnizează un obiect Websock care este similar cu obiectul WebSocket standard, dar Websock
permite comunicarea cu socket-urile TCP brute (adică fluxul binar) prin websockify. Acest
se realizează prin codificarea base64 a fluxului de date între Websock și websockify.
Websock are încorporat tamponarea cozii de primire; evenimentul mesaj nu conține actual
date, ci este pur și simplu o notificare că există date noi disponibile. Mai multe metode rQ*
sunt disponibile pentru a citi date binare din coada de primire.
API-ul Websock este documentat pe pagina wiki API websock.js:
https://github.com/kanaka/websockify/wiki/websock.js
Consultați secțiunea „Încheierea unui program” de mai jos pentru un exemplu de utilizare a Websock și websockify ca a
client telnet browser (wstelnet.html).
Suplimentar websockify caracteristici
Acestea nu sunt necesare pentru operația de bază.
* Daemonizare: Când este specificată opțiunea -D, websockify rulează în fundal ca
un proces demon.
* SSL (URI-ul wss:// WebSockets): Acesta este detectat automat de websockify by
adulmecând primul octet trimis de la client și apoi împachetând soclul dacă
datele încep cu „\x16” sau „\x80” (indicând SSL).
* Politică de securitate flash: websockify detectează solicitările de politică de securitate flash (din nou de
adulmecând primul pachet) și răspunde cu o politică de securitate flash adecvată
răspuns (și apoi închide portul). Aceasta înseamnă că nu există o politică de securitate flash separată
serverul este necesar pentru a suporta emulatorul de rezervă flash WebSockets.
* Înregistrare sesiune: Această caracteristică care permite înregistrarea traficului trimis și
primit de la client într-un fișier utilizând opțiunea --record.
* Mini-server web: websockify poate detecta și răspunde la solicitările web normale de pe
același port ca proxy-ul WebSockets și politica de securitate Flash. Această funcționalitate este
activați cu opțiunea --web DIR unde DIR este rădăcina directorului web către
servi.
* Încheierea unui program: consultați secțiunea „Încheierea unui program” de mai jos.
Wrap a Program
În plus față de proxy de la o adresă sursă la o adresă țintă (care poate fi pe un
sistem diferit), websockify are capacitatea de a lansa un program pe sistemul local și
trafic proxy WebSockets către un port TCP normal deținut/legat de program.
Se realizează cu o bibliotecă mică LD_PRELOAD (rebind.so) care interceptează bind()
apeluri de sistem de către program. Portul specificat este mutat într-o nouă localhost/loopback gratuit
port înalt. websockify apoi trimite traficul WebSockets direcționat către portul original către
port nou (mutat) al programului.
Modul de împachetare a programului este invocat prin înlocuirea țintei cu -- urmat de program
linie de comandă pentru a încheia.
`./websockify 2023 -- PROGRAM ARGS`
Opțiunea --wrap-mode poate fi folosită pentru a indica ce acțiune trebuie întreprinsă atunci când este împachetat
ieșiri de program sau demonizează.
Iată un exemplu de utilizare a websockify pentru a încheia comanda vncserver (care fundaluri
însuși) pentru utilizare cu noVNC:
`./websockify 5901 --wrap-mode=ignore -- vncserver -geometry 1024x768 :1`
Iată un exemplu de împachetare telnetd (din krb5-telnetd).telnetd iese după
conexiunea se închide, astfel încât modul de împachetare este setat să reapare comanda:
`sudo ./websockify 2023 --wrap-mode=respawn -- telnetd -debug 2023`
Pagina wstelnet.html demonstrează un client telnet simplu bazat pe WebSockets.
Utilizați websockify online folosind serviciile onworks.net