SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
FTP(File Transfer Protocol)
La implementación del FTP se remonta a 1971 cuando se desarrolló un sistema de transferencia de archivos (descrito en
RFC141) entre equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology). Desde
entonces, diversos documentos de RFC (petición de comentarios) han mejorado el protocolo básico, pero las innovaciones
más importantes se llevaron a cabo en julio de 1973.
Actualmente, el protocolo FTP está definido por RFC 959 (Protocolo de transferencia de archivos (FTP) - Especificaciones).
La función del protocolo FTP
El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP.
El objetivo del protocolo FTP es:
• permitir que equipos remotos puedan compartir archivos
• permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor
• permitir una transferencia de datos eficaz.
El modelo FTP
El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro
espera solicitudes para llevar a cabo acciones (el servidor).
Durante una conexión FTP, se encuentran abiertos dos canales de transmisión:
Un canal de comandos (canal de control)
Un canal de datos
Programación Web
Técnica profesional en desarrollo de software
Profesor: Andrés Herrera R.
Alojamiento
web con FTP
2
Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de
información:
• DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexión y de administrar el canal
de datos. El DTP del lado del servidor se denomina SERVIDOR DE DTP y el DTP del lado del cliente se denomina
USUARIO DE DTP.
• PI (Intérprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado mediante los
comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor:
o El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PI a través del canal
de control en un puerto de datos, de establecer la conexión para el canal de control, de recibir los
comandos FTP del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE DTP.
o El USUARIO PI es responsable de establecer la conexión con el servidor FTP, de enviar los comandos FTP, de
recibir respuestas del SERVIDOR PI y de controlar al USUARIO DE DTP, si fuera necesario.
Cuando un cliente FTP se conecta con un servidor FTP, el USUARIO PI inicia la conexión con el servidor de acuerdo con el
protocolo Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta, ejecuta su DTP y después envía una
respuesta estándar. Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cual se enviarán los
datos al Cliente DTP. El cliente DTP escucha el puerto especificado para los datos provenientes del servidor.
Comandos
Los comandos FTP hacen posible especificar:
El puerto utilizado
El método de transferencia de datos
La estructura de datos
La naturaleza de la acción que se va a realizar (Recuperar, Enumerar, Almacenar, etc.)
Existen tres tipos de comandos FTP diferentes:
Comandos de control de acceso
Comandos de parámetros de transferencia
Comandos de servicio FTP
Comandos de control de acceso
Comando Descripción
USER
Cadena de caracteres que permite identificar al usuario. La identificación del usuario es necesaria para establecer la
comunicación a través del canal de datos.
PASS
Cadena de caracteres que especifica la contraseña del usuario. Este comando debe ser inmediatamente precedida por el
comando USER. El cliente debe decidir si esconder la visualización de este comando por razones de seguridad.
ACCT
Cadena de caracteres que especifica la cuenta del usuario. El comando generalmente no es necesario. Durante la
respuesta que acepta la contraseña, si la respuesta es 230, esta etapa no es necesaria; Si la respuesta es 332, sí lo es.
CWD
Change Working Directory (Cambiar el directorio de trabajo): este comando permite cambiar el directorio actual. Este
comando requiere la ruta de acceso al directorio para que se complete como un argumento.
CDUP
Change to Parent Directory (Cambiar al directorio principal): este comando permite regresar al directorio principal. Se
introdujo para resolver los problemas de denominación del directorio principal según el sistema (generalmente "..").
SMNT Structure Mount (Montar estructura):
3
REIN Reinitialize (Reinicializar):
QUIT
Comando que permite abandonar la sesión actual. Si es necesario, el servidor espera a que finalice la transferencia en
progreso y después proporciona una respuesta antes de cerrar la conexión.
Comandos de parámetros de transferencia
Comando Descripción
PORT Cadena de caracteres que permite especificar el número de puerto utilizado.
PASV
Comando que permite indicar al servidor de DTP que permanezca a la espera de una conexión en un puerto específico
elegido aleatoriamente entre los puertos disponibles. La respuesta a este comando es la dirección IP del equipo y el
puerto.
TYPE Este comando permite especificar el tipo de formato en el cual se enviarán los datos.
STRU Carácter Telnet que especifica la estructura de archivos (F de File [Archivo], R de Record [Registro], P de Page [Página]).
MODE
Carácter Telnet que especifica el método de transferencia de datos (S deStream [Flujo], B de Block [Bloque], C
de Compressed [Comprimido]).
Comandos de servicio FTP
Comando Descripción
RETR
Este comando (RETRIEVE [RECUPERAR]) le pide al servidor de DTP una copia del archivo cuya ruta de acceso se da en
los parámetros.
STOR
Este comando (store [almacenar]) le pide al servidor de DTP que acepte los datos enviados por el canal de datos y que los
almacene en un archivo que lleve el nombre que se da en los parámetros. Si el archivo no existe, el servidor lo crea; de lo
contrario, lo sobrescribe.
STOU
Este comando es idéntico al anterior, sólo le pide al servidor que cree un archivo cuyo nombre sea único. El nombre del
archivo se envía en la respuesta.
APPE
Gracias a este comando (append [adjuntar]) los datos enviados se concatenan en el archivo que lleva el nombre dado en
el parámetro si ya existe; si no es así, se crea.
ALLO
Este comando (allocate [reservar]) le pide al servidor que reserve un espacio de almacenamiento lo suficientemente
grande como para recibir el archivo cuyo nombre se da en el argumento.
REST
Este comando (restart [reiniciar]) permite que se reinicie una transferencia desde donde se detuvo. Para hacer esto, el
comando envía en el parámetro el marcador que representa la posición en el archivo donde la transferencia se había
interrumpido. Después de este comando se debe enviar inmediatamente un comando de transferencia.
RNFR
Este comando (rename from [renombrar desde]) permite volver a nombrar un archivo. En los parámetros indica el nombre
del archivo que se va a renombrar y debe estar inmediatamente seguido por el comando RNTO.
RNTO
Este comando (rename from [renombrar a]) permite volver a nombrar un archivo. En los parámetros indica el nombre del
archivo que se va a renombrar y debe estar inmediatamente seguido por el comando RNFR.
ABOR
Este comando (abort [cancelar]) le indica al servidor de DTP que abandone todas las transferencias asociadas con el
comando previo. Si no hay conexión de datos abierta, el servidor de DTP no realiza ninguna acción; de lo contrario, cierra
la conexión. Sin embargo, el canal de control permanece abierto.
DELE
Este comando (delete [borrar]) permite que se borre un archivo, cuyo nombre se da en los parámetros. Este comando es
irreversible y la confirmación sólo puede darse a nivel cliente.
RMD
Este comando (remove directory [eliminar directorio]) permite borrar un directorio. El nombre del directorio que se va a
borrar se indica en los parámetros.
4
MKD
Este comando (make directory [crear directorio]) permite crear un directorio. El nombre del directorio que se va a crear se
indica en los parámetros.
PWD
Este comando (print working directory [mostrar el directorio actual]) hace posible volver a enviar la ruta del directorio actual
completa.
LIST
Este comando permite que se vuelva a enviar la lista de archivos y directorios presentes en el directorio actual. Esto se
envía a través del DTP pasivo. Es posible indicar un nombre de directorio en el parámetro de este comando. El servidor de
DTP enviará la lista de archivos del directorio ubicado en el parámetro.
NLST
Este comando (name list [lista de nombres]) permite enviar la lista de archivos y directorios presentes en el directorio
actual.
SITE
Este comando (site parameters [parámetros del sistema]) hace que el servidor proporcione servicios específicos no
definidos en el protocolo FTP.
SYST Este comando (system [sistema]) permite el envío de información acerca del servidor remoto.
STAT
Este comando (Estado: [estado]) permite transmitir el estado del servidor; por ejemplo, permite conocer el progreso de una
transferencia actual. Este comando acepta una ruta de acceso en el argumento y después devuelve la misma información
que LISTA pero a través del canal de control.
HELP
Este comando permite conocer todos los comandos que el servidor comprende. La información se devuelve por el canal
de control.
NOOP
Este comando (no operations [no operación]) sólo se utiliza para recibir un comando OK del servidor. Sólo se puede
utilizar para no desconectarse después de un período de inactividad prolongado.
Las respuestas FTP
Las respuestas FTP garantizan la sincronización entre el cliente y el servidor FTP. Por lo tanto, por cada comando
enviado por el cliente, el servidor eventualmente llevará a cabo una acción y sistemáticamente enviará una respuesta.
Las respuestas están compuestas por un código de 3 dígitos que indica la manera en la que el comando enviado por el
cliente ha sido procesado. Sin embargo, debido a que el código de 3 dígitos resulta difícil de leer para las personas,
está acompañado de texto (cadena de caracteres Telnet separada del código numérico por un espacio).
Los códigos de respuesta están compuestos por 3 números, cuyos significados son los siguientes:
• El primer número indica el estatuto de la respuesta (exitosa o fallida)
• El segundo número indica a qué se refiere la respuesta.
• El tercer número brinda un significado más específico (relacionado con cada segundo dígito).
Primer número
Dígito Significado Descripción
1yz
Respuesta positiva
preliminar
La acción solicitada está en progreso. Se debe obtener una segunda respuesta antes de enviar un
segundo comando.
2yz
Respuesta de finalización
positiva
La acción solicitada se ha completado y puede enviarse un nuevo comando.
3yz
Respuesta intermedia
positiva
La acción solicita está temporalmente suspendida. Se espera información adicional del cliente.
4yz
Respuesta de finalización
negativa
La acción solicitada no se ha realizado debido a que el comando no se ha aceptado
temporalmente. Se le solicita al cliente que intente más tarde.
5
5yz
Respuesta negativa
permanente
La acción solicitada no se ha realizado debido a que el comando no ha sido aceptado. Se le
solicita al cliente que formule una solicitud diferente.
Segundo número
Dígito Significado Descripción
x0z Sintaxis La acción tiene un error de sintaxis o sino, es un comando que el servidor no comprende.
x1z Información
Ésta es una respuesta que envía información (por ejemplo, una respuesta a un comando
STAT).
x2z Conexiones La respuesta se refiere al canal de datos.
x3z Autenticación y cuentas
La respuesta se refiere al inicio de sesión (USUARIO/CONTRASEÑA) o a la solicitud para
cambiar la cuenta (CPT).
x4z
No utilizado por el protocolo
FTP.
x5z Sistema de archivos La respuesta se relaciona con el sistema de archivos remoto.
6
Practica
1. OBJETIVO
El objetivo de esta práctica es conocer el modo de operarción del protocolo de Transferencia de Archivos
(FTP).
2. Instalación
• Por medio de la terminal instale el servidor FTP en debían con el siguiente comando:
# apt-get install proftpd-basic proftpd-doc
• Crear un grupo de ftp
# addgroup ftpgroup
• Cree un usuario ftp. Donde -ingroup es el grupo –home es el directorio del usuario –shell es el Shell y ftpuser
es el nombre del usuario que se esta creando
# adduser ftpuser -shell /bin/false -ingroup ftpgroup -home /var/www/ftpshare
Añadiendo el usuario ` ftpuser...
Añadiendo el nuevo usuario `andres' (1003) con grupo `ftpgroup' ...
El directorio personal `/var/www/ftpshare' ya existe. No se copiará desde
`/etc/skel'.
adduser: Aviso: El directorio personal `/var/www/ftpshare' no pertenece al usuario
que está creando ahora.
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para ftpuser
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: andres herrera
Número de habitación []: 501
Teléfono del trabajo []: 55555
Teléfono de casa []: 55555
Otro []:
¿Es correcta la información? [S/n] S
• Asigne el grupo ftpgroup al usuario creado en caso de no haberse creado automáticamente al crear el
usuario
# addgroup ftpuser ftpgroup
7
• Edite el arcivo que se encuentra en la siguiente ruta
# nano /etc/proftpd/proftpd.conf
UseIPv6 off
RequireValidShell off
User proftpd
Group ftpgroup
DefaultRoot ~
3. Ejecución
FILEZILLA es un gestor grafico de archivos FTP que permite la transferencia a servidores FTP remotos, en el mundo
productivo es muy usado para la transferencia de archivos web.
• En una maquina Windows descargue Filezilla del siguiente enlace
https://filezilla-project.org/download.php?type=client
• una vez instalado FileZilla ingrese la información del servidor en la parte superior para iniciar la conexión.
• Transfiera un documento de propiedad del usuario a la maquina Windows arrastrándolo del sitio remoto al
sitio local
8
• Observe los comandos ejecutados
4. Explorar archivos del servidor con el Browser
• Desde una maquina Windows o Linux, abra el browser y el la URL digite ftp://“ip del servidor” y digite el
usuario y la contraseña del servidor FTP
9
• Una vez establecida la comunicación se podrán ver los archivos que posee el usuario del servidor.
5. Transferencia de archivos por terminal Linux o CMD
• Inicie una terminal desde un sistema Linux
• digite en modo no super usuario el siguiente comando.
$ ftp “dirección de su servidor web”
• digite el nombre del usuario ftp del servidor
• digite contraseña del usuario
$ ftp 192.168.1.7
Connected to 192.168.1.7.
220 ProFTPD 1.3.5b Server (Debian) [192.168.1.7]
Name (192.168.1.7:andres): ftpuser
331 Password required for ftpuser
Password:
230 User ftpuser logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
• Digite el comando pwd para identificar la ruta en la que esta situado, luego digite el comando ls para
identificar los documentos.
• Descargue un archivo del servidor desde el equipo local de la siguiente forma (cree un archivo llamado
hola.index en la carpeta personal del usuario del servidor FTP touch /var/www/ftpshare/hola.index):
ftp> get index.html
• Esta es la notificación de la tranferencia exitosa del archivo.
local: index.html remote: index.html
229 Entering Extended Passive Mode (|||64773|)
150 Opening BINARY mode data connection for index.html (46521 bytes)
100% |**************************************************************| 46521
19.56 MiB/s 00:00 ETA
226 Transfer complete
46521 bytes received in 00:00 (15.14 MiB/s)
ftp>
• Digite el comando help se desplegará una lista de opciones de comandos
• Digite el comando help y el comando deseado
ftp> help send
send send one file
• Explore todos comandos y realice una breve descripción de su funcionamiento
• Realice una pagina web sencilla en windows y nombre la hola.html
• Vamos a transferir esa pagina web al servidor remoto por medio de línea de comandos en caso de faltar un
gestor de FTP como lo es el filezilla
• Localice el escrotorio donde ha creado el archivo hola.index con el comando lcd y entre “” la ruta sin incluir
el archivo
ftp> lcd "/Users/andres/Desktop/"
Local directory now: /Users/andres/Desktop
10
Una vez ubicados en el directorio digite el comando send seguido del nombre del archivo a transferir
hola.index
ftp> send hola.html
local: hola.html remote: hola.html
229 Entering Extended Passive Mode (|||63644|)
150 Opening BINARY mode data connection for hola.html
100% |**************************************************************| 89
71.71 KiB/s 00:00 ETA
226 Transfer complete
89 bytes sent in 00:00 (39.95 KiB/s)
ftp>

Más contenido relacionado

La actualidad más candente

La actualidad más candente (9)

Comando De Router
Comando De RouterComando De Router
Comando De Router
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router cisco
 
Puertos
PuertosPuertos
Puertos
 
Wireshark1
Wireshark1Wireshark1
Wireshark1
 
Protocolos redes
Protocolos redesProtocolos redes
Protocolos redes
 
Instalación y comandos ftp en windows server 2008
Instalación y comandos ftp en windows server 2008Instalación y comandos ftp en windows server 2008
Instalación y comandos ftp en windows server 2008
 
FTP (File Transfer Protocol)
FTP (File Transfer Protocol)FTP (File Transfer Protocol)
FTP (File Transfer Protocol)
 
Comandos linux laboratorio
Comandos linux laboratorioComandos linux laboratorio
Comandos linux laboratorio
 
Servicio FTP en Ubuntu
Servicio FTP en UbuntuServicio FTP en Ubuntu
Servicio FTP en Ubuntu
 

Similar a GuiaFTP (20)

Ftp file trnasfer protoc ol
Ftp file trnasfer protoc olFtp file trnasfer protoc ol
Ftp file trnasfer protoc ol
 
Protocolo ftp... aloa
Protocolo ftp... aloaProtocolo ftp... aloa
Protocolo ftp... aloa
 
Definición de Ftp
Definición de FtpDefinición de Ftp
Definición de Ftp
 
Dn11 u3 a11_vbol
Dn11 u3 a11_vbolDn11 u3 a11_vbol
Dn11 u3 a11_vbol
 
1 ftps
1 ftps1 ftps
1 ftps
 
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
 
Transmision ftp
Transmision ftpTransmision ftp
Transmision ftp
 
Taller preguntas.
Taller preguntas.Taller preguntas.
Taller preguntas.
 
Ftp protocolo KAREM YANELLI
Ftp protocolo KAREM YANELLIFtp protocolo KAREM YANELLI
Ftp protocolo KAREM YANELLI
 
Informe Protocolos redes
Informe Protocolos  redesInforme Protocolos  redes
Informe Protocolos redes
 
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
 
Que es Protocolo ftp
Que es Protocolo ftpQue es Protocolo ftp
Que es Protocolo ftp
 
Trabajo ftp
Trabajo ftpTrabajo ftp
Trabajo ftp
 
Dn11 c a8-protocolo ftp
Dn11 c a8-protocolo ftpDn11 c a8-protocolo ftp
Dn11 c a8-protocolo ftp
 
Udp
UdpUdp
Udp
 
Protocolo FTP
Protocolo FTPProtocolo FTP
Protocolo FTP
 
Ftp
FtpFtp
Ftp
 
Servidor ftp
Servidor ftpServidor ftp
Servidor ftp
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
Protocolos (wilma)
Protocolos (wilma)Protocolos (wilma)
Protocolos (wilma)
 

Más de Andres Herrera Rodriguez

Más de Andres Herrera Rodriguez (19)

Lab archivos
Lab archivosLab archivos
Lab archivos
 
Lab excepciones propias
Lab excepciones propiasLab excepciones propias
Lab excepciones propias
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Laboratorio clase abstract
Laboratorio clase abstractLaboratorio clase abstract
Laboratorio clase abstract
 
3. unidad 4 polimorfismo
3. unidad 4 polimorfismo3. unidad 4 polimorfismo
3. unidad 4 polimorfismo
 
Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
Laboratorio de polimorfismo
Laboratorio de  polimorfismoLaboratorio de  polimorfismo
Laboratorio de polimorfismo
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
Guia mysql
Guia mysqlGuia mysql
Guia mysql
 
Lenguaje de programacion unidad 3 arreglos de objetos
Lenguaje de programacion unidad 3 arreglos de objetosLenguaje de programacion unidad 3 arreglos de objetos
Lenguaje de programacion unidad 3 arreglos de objetos
 
Lenguaje de programacion laboratorio arreglos
Lenguaje de programacion laboratorio arreglosLenguaje de programacion laboratorio arreglos
Lenguaje de programacion laboratorio arreglos
 
Formularios HTML
Formularios HTMLFormularios HTML
Formularios HTML
 
Botones HTML
Botones HTMLBotones HTML
Botones HTML
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetos
 
Lenguaje de programacion unidad 1 UML
Lenguaje de programacion unidad 1 UMLLenguaje de programacion unidad 1 UML
Lenguaje de programacion unidad 1 UML
 
programación WEB Unidad 1 html
programación WEB Unidad 1 htmlprogramación WEB Unidad 1 html
programación WEB Unidad 1 html
 
Lectura y ejemplos clases y objetos
Lectura y ejemplos clases y objetosLectura y ejemplos clases y objetos
Lectura y ejemplos clases y objetos
 

Último

Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 

Último (20)

Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 

GuiaFTP

  • 1. FTP(File Transfer Protocol) La implementación del FTP se remonta a 1971 cuando se desarrolló un sistema de transferencia de archivos (descrito en RFC141) entre equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology). Desde entonces, diversos documentos de RFC (petición de comentarios) han mejorado el protocolo básico, pero las innovaciones más importantes se llevaron a cabo en julio de 1973. Actualmente, el protocolo FTP está definido por RFC 959 (Protocolo de transferencia de archivos (FTP) - Especificaciones). La función del protocolo FTP El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP. El objetivo del protocolo FTP es: • permitir que equipos remotos puedan compartir archivos • permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor • permitir una transferencia de datos eficaz. El modelo FTP El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor). Durante una conexión FTP, se encuentran abiertos dos canales de transmisión: Un canal de comandos (canal de control) Un canal de datos Programación Web Técnica profesional en desarrollo de software Profesor: Andrés Herrera R. Alojamiento web con FTP
  • 2. 2 Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información: • DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexión y de administrar el canal de datos. El DTP del lado del servidor se denomina SERVIDOR DE DTP y el DTP del lado del cliente se denomina USUARIO DE DTP. • PI (Intérprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado mediante los comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor: o El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PI a través del canal de control en un puerto de datos, de establecer la conexión para el canal de control, de recibir los comandos FTP del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE DTP. o El USUARIO PI es responsable de establecer la conexión con el servidor FTP, de enviar los comandos FTP, de recibir respuestas del SERVIDOR PI y de controlar al USUARIO DE DTP, si fuera necesario. Cuando un cliente FTP se conecta con un servidor FTP, el USUARIO PI inicia la conexión con el servidor de acuerdo con el protocolo Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta, ejecuta su DTP y después envía una respuesta estándar. Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cual se enviarán los datos al Cliente DTP. El cliente DTP escucha el puerto especificado para los datos provenientes del servidor. Comandos Los comandos FTP hacen posible especificar: El puerto utilizado El método de transferencia de datos La estructura de datos La naturaleza de la acción que se va a realizar (Recuperar, Enumerar, Almacenar, etc.) Existen tres tipos de comandos FTP diferentes: Comandos de control de acceso Comandos de parámetros de transferencia Comandos de servicio FTP Comandos de control de acceso Comando Descripción USER Cadena de caracteres que permite identificar al usuario. La identificación del usuario es necesaria para establecer la comunicación a través del canal de datos. PASS Cadena de caracteres que especifica la contraseña del usuario. Este comando debe ser inmediatamente precedida por el comando USER. El cliente debe decidir si esconder la visualización de este comando por razones de seguridad. ACCT Cadena de caracteres que especifica la cuenta del usuario. El comando generalmente no es necesario. Durante la respuesta que acepta la contraseña, si la respuesta es 230, esta etapa no es necesaria; Si la respuesta es 332, sí lo es. CWD Change Working Directory (Cambiar el directorio de trabajo): este comando permite cambiar el directorio actual. Este comando requiere la ruta de acceso al directorio para que se complete como un argumento. CDUP Change to Parent Directory (Cambiar al directorio principal): este comando permite regresar al directorio principal. Se introdujo para resolver los problemas de denominación del directorio principal según el sistema (generalmente ".."). SMNT Structure Mount (Montar estructura):
  • 3. 3 REIN Reinitialize (Reinicializar): QUIT Comando que permite abandonar la sesión actual. Si es necesario, el servidor espera a que finalice la transferencia en progreso y después proporciona una respuesta antes de cerrar la conexión. Comandos de parámetros de transferencia Comando Descripción PORT Cadena de caracteres que permite especificar el número de puerto utilizado. PASV Comando que permite indicar al servidor de DTP que permanezca a la espera de una conexión en un puerto específico elegido aleatoriamente entre los puertos disponibles. La respuesta a este comando es la dirección IP del equipo y el puerto. TYPE Este comando permite especificar el tipo de formato en el cual se enviarán los datos. STRU Carácter Telnet que especifica la estructura de archivos (F de File [Archivo], R de Record [Registro], P de Page [Página]). MODE Carácter Telnet que especifica el método de transferencia de datos (S deStream [Flujo], B de Block [Bloque], C de Compressed [Comprimido]). Comandos de servicio FTP Comando Descripción RETR Este comando (RETRIEVE [RECUPERAR]) le pide al servidor de DTP una copia del archivo cuya ruta de acceso se da en los parámetros. STOR Este comando (store [almacenar]) le pide al servidor de DTP que acepte los datos enviados por el canal de datos y que los almacene en un archivo que lleve el nombre que se da en los parámetros. Si el archivo no existe, el servidor lo crea; de lo contrario, lo sobrescribe. STOU Este comando es idéntico al anterior, sólo le pide al servidor que cree un archivo cuyo nombre sea único. El nombre del archivo se envía en la respuesta. APPE Gracias a este comando (append [adjuntar]) los datos enviados se concatenan en el archivo que lleva el nombre dado en el parámetro si ya existe; si no es así, se crea. ALLO Este comando (allocate [reservar]) le pide al servidor que reserve un espacio de almacenamiento lo suficientemente grande como para recibir el archivo cuyo nombre se da en el argumento. REST Este comando (restart [reiniciar]) permite que se reinicie una transferencia desde donde se detuvo. Para hacer esto, el comando envía en el parámetro el marcador que representa la posición en el archivo donde la transferencia se había interrumpido. Después de este comando se debe enviar inmediatamente un comando de transferencia. RNFR Este comando (rename from [renombrar desde]) permite volver a nombrar un archivo. En los parámetros indica el nombre del archivo que se va a renombrar y debe estar inmediatamente seguido por el comando RNTO. RNTO Este comando (rename from [renombrar a]) permite volver a nombrar un archivo. En los parámetros indica el nombre del archivo que se va a renombrar y debe estar inmediatamente seguido por el comando RNFR. ABOR Este comando (abort [cancelar]) le indica al servidor de DTP que abandone todas las transferencias asociadas con el comando previo. Si no hay conexión de datos abierta, el servidor de DTP no realiza ninguna acción; de lo contrario, cierra la conexión. Sin embargo, el canal de control permanece abierto. DELE Este comando (delete [borrar]) permite que se borre un archivo, cuyo nombre se da en los parámetros. Este comando es irreversible y la confirmación sólo puede darse a nivel cliente. RMD Este comando (remove directory [eliminar directorio]) permite borrar un directorio. El nombre del directorio que se va a borrar se indica en los parámetros.
  • 4. 4 MKD Este comando (make directory [crear directorio]) permite crear un directorio. El nombre del directorio que se va a crear se indica en los parámetros. PWD Este comando (print working directory [mostrar el directorio actual]) hace posible volver a enviar la ruta del directorio actual completa. LIST Este comando permite que se vuelva a enviar la lista de archivos y directorios presentes en el directorio actual. Esto se envía a través del DTP pasivo. Es posible indicar un nombre de directorio en el parámetro de este comando. El servidor de DTP enviará la lista de archivos del directorio ubicado en el parámetro. NLST Este comando (name list [lista de nombres]) permite enviar la lista de archivos y directorios presentes en el directorio actual. SITE Este comando (site parameters [parámetros del sistema]) hace que el servidor proporcione servicios específicos no definidos en el protocolo FTP. SYST Este comando (system [sistema]) permite el envío de información acerca del servidor remoto. STAT Este comando (Estado: [estado]) permite transmitir el estado del servidor; por ejemplo, permite conocer el progreso de una transferencia actual. Este comando acepta una ruta de acceso en el argumento y después devuelve la misma información que LISTA pero a través del canal de control. HELP Este comando permite conocer todos los comandos que el servidor comprende. La información se devuelve por el canal de control. NOOP Este comando (no operations [no operación]) sólo se utiliza para recibir un comando OK del servidor. Sólo se puede utilizar para no desconectarse después de un período de inactividad prolongado. Las respuestas FTP Las respuestas FTP garantizan la sincronización entre el cliente y el servidor FTP. Por lo tanto, por cada comando enviado por el cliente, el servidor eventualmente llevará a cabo una acción y sistemáticamente enviará una respuesta. Las respuestas están compuestas por un código de 3 dígitos que indica la manera en la que el comando enviado por el cliente ha sido procesado. Sin embargo, debido a que el código de 3 dígitos resulta difícil de leer para las personas, está acompañado de texto (cadena de caracteres Telnet separada del código numérico por un espacio). Los códigos de respuesta están compuestos por 3 números, cuyos significados son los siguientes: • El primer número indica el estatuto de la respuesta (exitosa o fallida) • El segundo número indica a qué se refiere la respuesta. • El tercer número brinda un significado más específico (relacionado con cada segundo dígito). Primer número Dígito Significado Descripción 1yz Respuesta positiva preliminar La acción solicitada está en progreso. Se debe obtener una segunda respuesta antes de enviar un segundo comando. 2yz Respuesta de finalización positiva La acción solicitada se ha completado y puede enviarse un nuevo comando. 3yz Respuesta intermedia positiva La acción solicita está temporalmente suspendida. Se espera información adicional del cliente. 4yz Respuesta de finalización negativa La acción solicitada no se ha realizado debido a que el comando no se ha aceptado temporalmente. Se le solicita al cliente que intente más tarde.
  • 5. 5 5yz Respuesta negativa permanente La acción solicitada no se ha realizado debido a que el comando no ha sido aceptado. Se le solicita al cliente que formule una solicitud diferente. Segundo número Dígito Significado Descripción x0z Sintaxis La acción tiene un error de sintaxis o sino, es un comando que el servidor no comprende. x1z Información Ésta es una respuesta que envía información (por ejemplo, una respuesta a un comando STAT). x2z Conexiones La respuesta se refiere al canal de datos. x3z Autenticación y cuentas La respuesta se refiere al inicio de sesión (USUARIO/CONTRASEÑA) o a la solicitud para cambiar la cuenta (CPT). x4z No utilizado por el protocolo FTP. x5z Sistema de archivos La respuesta se relaciona con el sistema de archivos remoto.
  • 6. 6 Practica 1. OBJETIVO El objetivo de esta práctica es conocer el modo de operarción del protocolo de Transferencia de Archivos (FTP). 2. Instalación • Por medio de la terminal instale el servidor FTP en debían con el siguiente comando: # apt-get install proftpd-basic proftpd-doc • Crear un grupo de ftp # addgroup ftpgroup • Cree un usuario ftp. Donde -ingroup es el grupo –home es el directorio del usuario –shell es el Shell y ftpuser es el nombre del usuario que se esta creando # adduser ftpuser -shell /bin/false -ingroup ftpgroup -home /var/www/ftpshare Añadiendo el usuario ` ftpuser... Añadiendo el nuevo usuario `andres' (1003) con grupo `ftpgroup' ... El directorio personal `/var/www/ftpshare' ya existe. No se copiará desde `/etc/skel'. adduser: Aviso: El directorio personal `/var/www/ftpshare' no pertenece al usuario que está creando ahora. Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: passwd: contraseña actualizada correctamente Cambiando la información de usuario para ftpuser Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado Nombre completo []: andres herrera Número de habitación []: 501 Teléfono del trabajo []: 55555 Teléfono de casa []: 55555 Otro []: ¿Es correcta la información? [S/n] S • Asigne el grupo ftpgroup al usuario creado en caso de no haberse creado automáticamente al crear el usuario # addgroup ftpuser ftpgroup
  • 7. 7 • Edite el arcivo que se encuentra en la siguiente ruta # nano /etc/proftpd/proftpd.conf UseIPv6 off RequireValidShell off User proftpd Group ftpgroup DefaultRoot ~ 3. Ejecución FILEZILLA es un gestor grafico de archivos FTP que permite la transferencia a servidores FTP remotos, en el mundo productivo es muy usado para la transferencia de archivos web. • En una maquina Windows descargue Filezilla del siguiente enlace https://filezilla-project.org/download.php?type=client • una vez instalado FileZilla ingrese la información del servidor en la parte superior para iniciar la conexión. • Transfiera un documento de propiedad del usuario a la maquina Windows arrastrándolo del sitio remoto al sitio local
  • 8. 8 • Observe los comandos ejecutados 4. Explorar archivos del servidor con el Browser • Desde una maquina Windows o Linux, abra el browser y el la URL digite ftp://“ip del servidor” y digite el usuario y la contraseña del servidor FTP
  • 9. 9 • Una vez establecida la comunicación se podrán ver los archivos que posee el usuario del servidor. 5. Transferencia de archivos por terminal Linux o CMD • Inicie una terminal desde un sistema Linux • digite en modo no super usuario el siguiente comando. $ ftp “dirección de su servidor web” • digite el nombre del usuario ftp del servidor • digite contraseña del usuario $ ftp 192.168.1.7 Connected to 192.168.1.7. 220 ProFTPD 1.3.5b Server (Debian) [192.168.1.7] Name (192.168.1.7:andres): ftpuser 331 Password required for ftpuser Password: 230 User ftpuser logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> • Digite el comando pwd para identificar la ruta en la que esta situado, luego digite el comando ls para identificar los documentos. • Descargue un archivo del servidor desde el equipo local de la siguiente forma (cree un archivo llamado hola.index en la carpeta personal del usuario del servidor FTP touch /var/www/ftpshare/hola.index): ftp> get index.html • Esta es la notificación de la tranferencia exitosa del archivo. local: index.html remote: index.html 229 Entering Extended Passive Mode (|||64773|) 150 Opening BINARY mode data connection for index.html (46521 bytes) 100% |**************************************************************| 46521 19.56 MiB/s 00:00 ETA 226 Transfer complete 46521 bytes received in 00:00 (15.14 MiB/s) ftp> • Digite el comando help se desplegará una lista de opciones de comandos • Digite el comando help y el comando deseado ftp> help send send send one file • Explore todos comandos y realice una breve descripción de su funcionamiento • Realice una pagina web sencilla en windows y nombre la hola.html • Vamos a transferir esa pagina web al servidor remoto por medio de línea de comandos en caso de faltar un gestor de FTP como lo es el filezilla • Localice el escrotorio donde ha creado el archivo hola.index con el comando lcd y entre “” la ruta sin incluir el archivo ftp> lcd "/Users/andres/Desktop/" Local directory now: /Users/andres/Desktop
  • 10. 10 Una vez ubicados en el directorio digite el comando send seguido del nombre del archivo a transferir hola.index ftp> send hola.html local: hola.html remote: hola.html 229 Entering Extended Passive Mode (|||63644|) 150 Opening BINARY mode data connection for hola.html 100% |**************************************************************| 89 71.71 KiB/s 00:00 ETA 226 Transfer complete 89 bytes sent in 00:00 (39.95 KiB/s) ftp>