FTP es un grupo de protocolos estándar que permiten que las computadoras interconectadas o en red transfieran archivos y se comuniquen a través de Internet.
El servidor FTP es básicamente una computadora que ofrece servicios de acceso y almacenamiento de archivos en Internet, maneja toda la transmisión de datos entre computadoras en red. El servidor FTP espera a que el cliente se conecte a él y utiliza los comandos del protocolo FTP para realizar todas las tareas, como cargar, listar directorios o descargar.
FTP se basa en una arquitectura cliente/servidor. Un usuario es un cliente que admite el protocolo FTP a través del cual puede conectarse a un servidor FTP en un host remoto. El cliente puede emitir comandos, para que el servidor remoto pueda ejecutarlos, después de ejecutar los comandos, el servidor host devuelve los resultados de la ejecución al cliente. Por ejemplo, el usuario proporciona un comando y le pide al servidor que reenvíe el archivo. El servidor responderá a la solicitud y enviará el archivo al cliente. Después de eso, el usuario puede colocar el archivo en el directorio de trabajo. Este tipo de procesos son realizados por los servidores FTP.
Funcionamiento del servidor FTP:
El servicio FTP es un protocolo basado en TCP, es decir, es un protocolo de transferencia de archivos. De forma predeterminada, utiliza el puerto 20 (puerto de datos) y el puerto 21 (puerto de comando). Un usuario envía una solicitud de servicio al servidor en la red. Después de eso, la solicitud es recibida por el servidor, que responde a la solicitud del usuario y proporciona al usuario el servicio de transferencia de archivos solicitado. FTP utiliza un método de comunicación de conexión continua para mantener en funcionamiento las conexiones de control largas. Según el tipo de modo de conexión, la cantidad de puertos de datos puede diferir.
Tipos de Conexiones en FTP:
Generalmente, en una sesión en la que tiene lugar la transferencia de archivos, el FTP utiliza dos tipos distintos de conexiones, es decir, conexión de datos y conexión de control.
- Conexión de control: la conexión de control se utiliza para enviar comandos entre el usuario y el servidor. Es la conexión principal y utiliza el puerto 21.
- Conexión de datos: la conexión de datos se usa solo para transferir datos. Establece una conexión entre el DTP (Data Transfer Process) del cliente y el servidor, y utiliza el puerto 20.
Tipos de modos de conexión:
El servidor FTP puede admitir el modo activo, el modo pasivo o ambos modos.
- Modo activo: en este modo, el usuario abre un puerto y escucha mientras el servidor está conectado activamente a él. Aquí el cliente puede conectarse desde cualquier puerto aleatorio.
- Modo pasivo: en este modo, el servidor abre un puerto y lo escucha pasivamente y el usuario también se conecta pasivamente a él. El modo pasivo se utiliza por defecto como medida de seguridad. El modo pasivo se puede usar cuando el usuario no puede recibir conexiones, es decir, en los casos en que la conexión está bloqueada por un firewall.
Comunicación con servidor FTP:
Un usuario puede comunicarse con el servidor FTP utilizando el programa telnet a través del puerto 21.
>telnet mkcbt.wrt.it 21 Trying 69.198.63.156… Connected to mkcbt.wrt.it. Escape character is ‘^]’. 220 ProFTPD server (EV) [69.198.63.156]
El siguiente paso es proporcionar el nombre de usuario y la contraseña.
>USER mkcbt 331 password requires for mkcbt. >PASS [REDACTED] 230 user mkcbt logged in >PASV 227 entering passive mode (69,198,63,156,116,239). >telnet mkcbt.wrt.it 29819 Trying 69.198.63.156… Connected to mkcbt.wrt.it Escape character is ‘^]’. >LIST 150 Opening BINARY mode data connection for file list. 226 Transfer complete drwxrwx--- 2 mkcbt 2048 0 Nov 2 15:12. drwxrwx--- 2 mkcbt 2048 0 Nov 2 15:12. -rw-rw---- 2 mkcbt 2048 5 Nov 2 12:52. xp_gif -rw-rw---- 2 mkcbt 2048 5 Nov 2 13:12. xc_txt -rw-rw---- 2 mkcbt 2048 5 Nov 2 13:52. xpc_vid -rw-rw---- 2 mkcbt 2048 5 Nov 2 14:27. gmarker -rw-rw---- 2 mkcbt 2048 5 Nov 2 16:24. test
Como se puede ver arriba, el servidor FTP funciona cuando un cliente proporciona los comandos y luego entrega las respuestas.
Beneficios del servidor FTP:
- Los servidores FTP ofrecen un nivel de seguridad.
- El servidor FTP le da al usuario un nivel de control.
- El servidor FTP permite a un usuario enviar archivos grandes a la vez.
- Mejora el flujo de trabajo.
- Permite la recuperación de datos.
- Tiene una función de reanudación, es decir, permite la transferencia de archivos incluso después de que se produzca una interrupción de la conexión.
Inconvenientes del servidor FTP:
- Todos los archivos, contraseñas y nombres de usuario se envían en texto sin cifrar.
- Es posible que TLS 1.2 no funcione con HTTPS, ya que no siempre es compatible.
- Es posible falsificar servidores para enviar datos a una computadora no premeditada o en un puerto aleatorio.