Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
FTP





FTP (File Transfer Protocol o Protocolo de Transferencia de Archivos) es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.


El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.


Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.


Modelo FTP


En el modelo FTP, el intérprete de protocolo (IP) de usuario inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el IP de usuario y se transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían desde la IP del servidor a la IP del usuario por la conexión de control como respuesta a las órdenes.


Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos (almacenar, recuperar, añadir, borrar, etc.). El proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexión al puerto de datos especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros que se hayan especificado.


La comunicación entre cliente y servidor es independiente del sistema de archivos utilizado en cada computadora, de manera que no importa que sus sistemas operativos sean distintos, porque las entidades que se comunican entre sí son los PI y los DTP, que usan el mismo protocolo estandarizado: el FTP.


También hay que destacar que la conexión de datos es bidireccional, es decir, se puede usar simultáneamente para enviar y para recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP.


 


Servidor FTP


Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN (Metropolitan Area Network o red de área metropolitana) , etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.


Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.


Los usos más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).


 


Cliente FTP


Si se quiere cargar archivos en un ordenador remoto se necesitará utilizar un programa cliente FTP. Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos.


Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.


Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos, incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica. Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.


 


Modos de conexión del cliente FTP


FTP admite dos modos de conexión del cliente. Estos modos se denominan activo (o Estándar, o PORT, debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control.


En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado. Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo pasivo.


En el modo pasivo, cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto (mayor a 1023 del servidor) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control hacia el puerto del servidor especificado anteriormente. Antes de cada nueva transferencia tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control (PORT o PASV, según el modo en el que haya conectado), y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20 (si está en modo activo).


 


Tipos de transferencia de archivos FTP


En el protocolo FTP existen dos tipos de transferencia en ASCII y en binarios. Es importante conocer cómo debemos transportar un archivo a lo largo de la red. Si no utilizamos las opciones adecuadas podemos dejar inservible e ilegible la información del archivo. Por ello, al ejecutar la aplicación FTP, debemos especificar uno de estos modos de transferencia:



  • Tipo ASCII: adecuado para transferir archivos que sólo contengan caracteres imprimibles (archivos ASCII, no archivos resultantes de un procesador de texto), por ejemplo páginas HTML, pero no las imágenes que puedan contener.



  • Tipo Binario: este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio, etc.


 


Comandos FTP


Algunos comandos más usuales en servidores FTP:



  • open servidor: inicia una conexión con un servidor FTP.

  • close o disconnect: finaliza una conexión FTP sin cerrar el programa cliente.

  • bye o quit: finaliza una conexión FTP y la sesión de trabajo con el programa cliente.

  • cd directorio: cambia el directorio de trabajo en el servidor.

  • delete archivo: elimina un archivo en el servidor.

  • mdelete patrón: elimina múltiples archivos basado en un patrón que se aplica al nombre.

  • dir: muestra el contenido del directorio en el que estamos en el servidor.

  • get archivo: obtiene un archivo.

  • noop No Operation: se le comunica al servidor que el cliente está en modo de no operación, el servidor usualmente responde con un «ZZZ» y refresca el contador de tiempo inactivo del usuario.

  • mget archivos: obtiene múltiples archivos.

  • lcd directorio: cambia el directorio de trabajo local.

  • ls: muestra el contenido del directorio en el servidor.

  • prompt: activa/desactiva la confirmación por parte del usuario de la ejecución de comandos. Por ejemplo al borrar múltiples archivos.

  • put archivo: envía un archivo al directorio activo del servidor.

  • mput archivos: envía múltiples archivos.

  • pwd: muestra el directorio activo en el servidor.

  • rename archivo: cambia el nombre a un archivo en el servidor.

  • rmdir directorio: elimina un directorio en el servidor si ese directorio está vacío.

  • status: muestra el estado actual de la conexión.

  • bin o binary: activa el modo de transferencia binario.

  • ascii: activa el modo de transferencia en modo texto ASCII.

  • !: permite salir a línea de comandos temporalmente sin cortar la conexión. Para volver, teclear exit en la línea de comandos.

  • ? nombre de comando: muestra la información relativa al comando.

  • ? o help: muestra una lista de los comandos disponibles.

  • append nombre del archivo: continua una descarga que se ha cortado previamente.

  • bell: activa/desactiva la reproducción de un sonido cuando ha terminado cualquier proceso de transferencia de archivos.

  • glob: activa/desactiva la visualización de nombres largos de nuestro PC.

  • literal: con esta orden se pueden ejecutar comandos del servidor de forma remota. Para saber los disponibles se utiliza: literal help.

  • mkdir: crea el directorio indicado de forma remota.

  • quote: hace la misma función que literal.

  • send: nombre del archivo Envía el archivo indicado al directorio activo del servidor.

  • user: Para cambiar nuestro nombre de usuario y contraseña sin necesidad de salir de la sesión ftp.


 


Artículos relacionados





Informática

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A