Introducción a Servidores FTP

Introducción a Servidores FTP

Introducción a Servidores FTP

FTP (File Transfer Protocol) Protocolo de transferencia de archivos, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP, basado en la arquitectura cliente-servidor.

Un equipo cliente se puede conectar a un servidor para descargar o enviar archivos, independientemente del sistema operativo de los equipos.

Este sistema permite:

  • Acceder a sistemas para ver los directorios y archivos que tienen.
  • Subir archivos de nuestro equipo (cliente) al servidor o descargarlos desde el servidor en nuestro equipo (cliente).
  • Realizar operaciones de borrar archivos, crear directorios, etc.

Normalmente se emplean los puertos de red 20 y 21. El primero se emplea para el flujo de datos entre cliente y servidor y el segundo para el flujo de control, es decir, para enviar órdenes del cliente al servidor.

Roles principales del protocolo FTP

  • Clientes FTP

Acceden al sistema de archivos del equipo donde están instalados y establecen conexiones con servidores FTP para enviar o recibir archivos.

  • Servidores FTP

Acceden al sistema de archivos del equipo donde están instalados, manejan las conexiones de los clientes y, en función de los permisos de los usuarios, permiten la descarga o subida de archivos.

Los clientes FTP son los programas que nos permiten interactuar con un servidor FTP remoto.

Los servidores y los clientes mantienen conexiones TCP independientes para control y transferencia de datos:

  • Conexión de control

El cliente establece una conexión con el servidor que le permite dialogar con él. Le envía los comandos y recibe las respuestas del servidor que le informa de si hubo errores o si todo ha ido bien.

Esta conexión está activa hasta que el cliente cierra la sesión o hasta pasado un tiempo sin actividad, momento en el que el servidor cierra la sesión (timeout).

  • Conexión de datos

Cuando un cliente solicita una transferencia se crea una nueva conexión de datos que se ciera al final de la transmisión.

Pueden existir varias conexiones de datos ligadas a una única conexión de control.

Existen muchos programas que funcionan como clientes FTP.

Los podemos clasificar en:

  • Clientes en línea

Son los más básicos y están incluidos en casi todos los sistemas operativos.

Tanto en Windows como en Linux se activan con el comando ftp

Comandos básicos para trabajar con clientes en línea FTP

ftp ipServidor //Para acceder al servidor
help       //Listado de todos los comandos
cd         //Acceder a una carpeta del servidor
lcd        //Acceder a una carpeta del cliente
pwd      //Muestra el directorio actual en el servidor
ls          //Muestra los ficheros del directorio actual
dir        //Funciona igual que ls
delete   //Borra un fichero del servidor
rename //Renombra un fichero del servidor
rmdir    //Borra un directorio del servidor
rm        //Funciona igual que rmdir
mkdir    //Crea un directorio en el servidor
!           //Delante de cada comando actúa en el cliente
asc        //Establece la transmisión de tipo ASCII
bin        //Establede la transmisión de tipo binario
type      //Indica el tipo de transferencia
put        //Transfiere un fichero al servidor
mput     //Transfiere uno o varios ficheros al servidor
get        //Obtiene un fichero del servidor
mget     //Obtiene uno o varios ficheros del servidor
prompt //Habilita o deshabilita el modo interactivo (mensaje de confirmación)
close     //Termina la sesión FTP sin salir del programa
bye       //Termina la sesión FTP y sale del programa
quit       //Funciona igual que bye
  • Clientes gráficos

Ofrecen al usuario una interfaz gráfica que facilita la conexión con el servidor y las operaciones de transferencia de archivos. Se pueden utilizar los mismos comandos que con un cliente en línea pero se puede manejar todo gráficamente, como un explorador de archivos.

Ejemplos: Filezilla, Cuteftp y Smartftp

  • Navegadores

Los navegadores de Internet también pueden funcionar como clientes FTP, escribiendo en la barra de direcciones:

//Opción 1
ftp://servidor
//Opción 2
ftp://nombreUsuario:contraseña@servidor

Tipos de acceso

Los servidores permiten, dependiendo de su configuración, dos tipos de acceso desde los clientes:

  • Anónimo

El cliente se conecta con un usuario especial llamado anonymous. Este usuario no tiene contraseña y, habitualmente sólo puede acceder a un directorio para descargar ficheros.

  • Autorizado

El cliente se conecta con un nombre de usuario que está validado en el sistema. Puede ser que esté validado localmente en el sistema o únicamente como usuario del servicio FTP. El servidor tiene establecido permisos para los usuarios autificados, de modo que algunos podrán subir y descargar archivos y otros únicamente descargar.

Tipos de transferencia

  • Activo

El servidor es el que inicia la transmisión de datos hacia el puerto que se le indica.

  1. El cliente se conecta desde un puerto aleatorio n (n > 1024), al puerto de control del servidor (puerto 21).
  2. El cliente comienza a escuchar en el puerto n + 1 y envía este puerto de control al servidor.
  3. El servidor se conecta al cliente por el puerto n + 1 desde el puerto de datos 20.
  • Pasivo

Se emplea cuando el cliente está detras de un cortafuegos y es posible que el servidor no pueda iniciar la conexión.

En el modo Pasivo es el cliente quien inicia siempre las conexiones al servidor. El puerto 20 del servidor no se utiliza.

  1. El cliente abre dos puertos n (n > 1024) y n + 1.
  2. El primer puerto se utiliza como puerto de control y se conecta al puerto 21 del servidor para enviarle el comando PASV
  3. El servidor abre un puerto p (p > 1024) y envia el comando PORT p al cliente.
  4. El cliente inicia la conexión desde el puerto n + 1 al puerto p del servidor para transferir datos.

Tipos de transferencia de archivos

  • ASCII

Se transmite byte a byte. Se suele utilizar para archivos de texto.

  • Binario

Se transmite bit a bit. Se usa para archivos que no son de texto: imágenes, ejecutables, etc..

Si te ha gustado no olvides compartir en redes sociales.

Espero que te haya servido. Cualquier duda deja un comentario. Un saludo

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
Ir a la barra de herramientas