El objetivo del trabajo es implementar un servidor proxy para el protocolo SOCKSv5[RFC1928], el cual puede atender multiples clientes en forma concurrente y simultanea.
El proyecto requiere, como unica dependencia, la libreria libsctp-dev para la utilizacion del protocolo SCTP. Para distribuciones basadas en debian ejecutar el siguiente comando:
sudo apt install libsctp-dev
El proyecto se compila utilizando el siguiente comando en el directorio src del proyecto:
make all
Además, se puede especificar el compilador a utilizar, por ejemplo:
CC=gcc make all
Esto genera todos los archivos binarios necesarios para ejecutarlo. Si se desea eliminar los binarios se debe ejecutar el siguiente comando en el directorio src del proyecto:
make clean
Para ejecutar el servidor se debe ejecutar el siguiente comando en el directorio src del proyecto:
./socks5d <options>
Donde options puede ser una o mas opciones de las siguientes:
OPCIONES
-h Imprime la ayuda y termina.
-l dirección-socks
Establece la dirección donde servirá el proxy SOCKS. Por defecto escucha en todas las interfaces.
-N Deshabilita los passwords disectors.
-L dirección-de-management
Establece la dirección donde servirá el servicio de management. Por defecto escucha únicamente en loopback.
-p puerto-local
Puerto TCP donde escuchará por conexiones entrantes SOCKS. Por defecto el valor es 1080.
-P puerto-conf
Puerto SCTP donde escuchará por conexiones entrante del protocolo de configuración. Por defecto el valor es 8080.
-u user:pass
Declara un usuario del proxy con su contraseña. Se puede utilizar hasta 10 veces.
-v Imprime información sobre la versión versión y termina.
Las distintas opciones estan especificadas en su manual (socks5d.8). Para acceder a él, se debe ejecutar el siguiente comando en el directorio src del proyecto:
man ./socks5d.8
Y luego ejecutar el siguiente comando:
./socks5dctl <options>
Donde options puede ser una o mas opciones de las siguientes:
OPCIONES
-L dirección-de-management
Establece la dirección donde sirve el servicio de
management. Por defecto usa localhost.
-P puerto-conf
Puerto SCTP donde escucha el protocolo
de configuración. Por defecto el valor es 8080.
-h
Imprime la ayuda y termina.
Las distintas opciones estan especificadas en su manual (socks5dctl.8). Para acceder a él, se debe ejecutar el siguiente comando:
man ./socks5dctl.8
La documentacion del servidor de monitoreo se encuentra ubicada en el archivo Protocolo de monitoreo.pdf
La documentacion del proxy se encuentra ubicada en el archivo Protocolos de comunicacion - TPE.pdf