# SOCKS

SOCKS és un protocol d'Internet que intercanvia paquets de xarxa entre un client i un servidor mitjançant un servidor intermediari. SOCKS5 proporciona, opcionalment, l'autenticació, de manera que només els usuaris autoritzats poden accedir a un servidor. Pràcticament, un servidor SOCKS envia connexions TCP a una adreça IP arbitrària i proporciona un mitjà perquè els paquets UDP es reenviïn. Un servidor SOCKS accepta connexió de client entrant al port TCP 1080, tal com es defineix a RFC 1928.

## Història

El protocol va ser desenvolupat/dissenyat originalment per David Koblas, un administrador del sistema de MIPS Computer Systems. Després que Silicon Graphics s'apodera de MIPS el 1992, Koblas va presentar un article sobre SOCKS al Simposi de seguretat Usenix d'aquell any, fent SOCKS disponible públicament. El protocol va ser estès a la versió 4 per Ying-Da Lee de NEC.
L'arquitectura de referència i el client SOCKS són propietat de Permeo Technologies, una derivació de NEC. (Blue Coat Systems va comprar Permeo Technologies i, al seu torn, va ser adquirida per Symantec).
El protocol SOCKS5 era originalment un protocol de seguretat que facilitava l'administració dels tallafocs i altres productes de seguretat. Va ser aprovat per l'IETF el 1996 com a RFC 1928 (autors: M. Leech, M. Ganis, Y. Lee, R. Kuris, D. Koblas i L. Jones). El protocol es va desenvolupar en col·laboració amb Aventail Corporation, que comercialitza la tecnologia fora d'Àsia.

## Acrònim

SOCKS es defineix de vegades com l'acrònim de "socket secure" almenys des de l'any 2001, encara que no es va definir originalment com a tal a la versió 5 del protocol SOCKS RFC el 1996 o el document UNIX Security Symposium III el 1992, però simplement es referia a un protocol proxy específic dissenyat per facilitar la comunicació entre clients i servidors mitjançant un tallafoc.

## Ús

SOCKS és un estàndard de facto per a passarel·les a nivell de circuit (passareles de nivell 5).
La naturalesa de nivell de circuit/sessió de SOCKS el converteix en una eina versàtil per reenviar qualsevol trànsit TCP (o UDP des de SOCKS5), creant una interfície per a tot tipus d'eines d'encaminament. Es pot utilitzar com a:
* Una eina d'elusió, que permet que el trànsit eludi el filtratge d'Internet per accedir a contingut que d'altra manera estarà bloquejat, per exemple, per governs, llocs de treball, escoles i serveis web específics del país. Com que SOCKS és molt detectable, un enfocament comú és presentar una interfície SOCKS per a protocols més sofisticats:
** El programari Tor onion proxy presenta una interfície SOCKS als seus clients.
* Proporciona una funcionalitat similar a una xarxa privada virtual, permetent que les connexions es reenviïn a la xarxa "local" d'un servidor:
** Algunes suites SSH, com OpenSSH, admeten el reenviament de ports dinàmics que permeten a l'usuari crear un servidor intermediari SOCKS local. Això pot alliberar l'usuari de les limitacions de connectar-se només a un port i servidor remots predefinits.

## Referències

* ↑ «Service Name and Transport Protocol Port Number Registry» (en anglès). Internet Assigned Numbers Authority, 19-05-2017. [Consulta: 23 maig 2017].
* ↑ Batt, Simon. «What Is a SOCKS Proxy and How Do You Use It?» (en anglès), 06-03-2020. [Consulta: 7 juny 2024].
* ↑ «What is a SOCKS Proxy and How Does it Work?» (en anglès americà). [Consulta: 7 juny 2024].
* ↑ Oppliger, Rolf. «Circuit-level gateways». A: Security technologies for the World Wide Web (en anglès). 2a edició. Artech House, 2003. ISBN 1580533485.