Servicios de Red e Internet: Servicio FTP
Servicios de Red e Internet: Servicio FTP
Servicio FTP
Departamento de Informática
MIGUEL A. PALOMARES ORTEGA
5 de diciembre de 2024
Resumen
Introducción teórica y prácticas del tema FTP
1 / 73
Introducción
2 / 73
Introducción
3 / 73
Introducción
4 / 73
Introducción
5 / 73
Introducción
6 / 73
Caracterı́sticas
7 / 73
Caracterı́sticas
8 / 73
Caracterı́sticas
9 / 73
Caracterı́sticas
10 / 73
Generalidades (1)
11 / 73
Generalidades (1)
12 / 73
Generalidades (1)
13 / 73
Generalidades (1)
14 / 73
Generalidades (2)
15 / 73
Generalidades (2)
16 / 73
Generalidades (2)
17 / 73
Esquema de la conexión
18 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
19 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
20 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
21 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
22 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
23 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
24 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
25 / 73
Generalidades (3)
Servidor FTP
1 Equipo servidor con programa especial para su conexión sobre
él.
2 Se usa para alojamiento Web.
3 Para albergar backup.
Cliente FTP
Equipo con programa especial para la conexión con servidores
FTP
Muchos navegadores soportan la función FTP
[Link]
Existen clientes FTP basado en modo consola, integrados en
los Sistemas Operativos
También los hay con interfaz gráfica.
26 / 73
Tipo de acceso
Acceso anónimo
1 Servidores que ofrecen sus servicios libremente a todos los
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
usuarios.
2 Para acceder hay que indicar como login anonymous y sin
password.
3 Solo se tiene acceso a un directorio configurado por el
administrador y en modo de sólo lectura.
Acceso de usuario
1 Tienen acceso usuarios del sistema
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
36 / 73
Modos de conexión
Modo activo
1 El servidor escucha peticiones en el puerto 21 para la conexión de control.
El cliente inicia la conexión de control contra el servidor.
2 El cliente escucha peticiones en el puerto n+1 para la conexión de datos,
siendo n el puerto usado en la conexión de control en el cliente. El
servidor inicia la conexión de datos usando como puerto origen el 20
3 Existe un problema de seguridad, puesto que el cliente debe aceptar
cualquier conexión de entrada a dicho puerto (n+1), con el consiguiente
riesgo si estamos conectados a una red insegura como internet
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
37 / 73
Modos de conexión
Modo activo
1 El servidor escucha peticiones en el puerto 21 para la conexión de control.
El cliente inicia la conexión de control contra el servidor.
2 El cliente escucha peticiones en el puerto n+1 para la conexión de datos,
siendo n el puerto usado en la conexión de control en el cliente. El
servidor inicia la conexión de datos usando como puerto origen el 20
3 Existe un problema de seguridad, puesto que el cliente debe aceptar
cualquier conexión de entrada a dicho puerto (n+1), con el consiguiente
riesgo si estamos conectados a una red insegura como internet
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
38 / 73
Modos de conexión
Modo activo
1 El servidor escucha peticiones en el puerto 21 para la conexión de control.
El cliente inicia la conexión de control contra el servidor.
2 El cliente escucha peticiones en el puerto n+1 para la conexión de datos,
siendo n el puerto usado en la conexión de control en el cliente. El
servidor inicia la conexión de datos usando como puerto origen el 20
3 Existe un problema de seguridad, puesto que el cliente debe aceptar
cualquier conexión de entrada a dicho puerto (n+1), con el consiguiente
riesgo si estamos conectados a una red insegura como internet
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
39 / 73
Modos de conexión
Modo activo
1 El servidor escucha peticiones en el puerto 21 para la conexión de control.
El cliente inicia la conexión de control contra el servidor.
2 El cliente escucha peticiones en el puerto n+1 para la conexión de datos,
siendo n el puerto usado en la conexión de control en el cliente. El
servidor inicia la conexión de datos usando como puerto origen el 20
3 Existe un problema de seguridad, puesto que el cliente debe aceptar
cualquier conexión de entrada a dicho puerto (n+1), con el consiguiente
riesgo si estamos conectados a una red insegura como internet
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
40 / 73
Modos de conexión
Modo activo
1 El servidor escucha peticiones en el puerto 21 para la conexión de control.
El cliente inicia la conexión de control contra el servidor.
2 El cliente escucha peticiones en el puerto n+1 para la conexión de datos,
siendo n el puerto usado en la conexión de control en el cliente. El
servidor inicia la conexión de datos usando como puerto origen el 20
3 Existe un problema de seguridad, puesto que el cliente debe aceptar
cualquier conexión de entrada a dicho puerto (n+1), con el consiguiente
riesgo si estamos conectados a una red insegura como internet
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
41 / 73
Modos de conexión
Modo activo
1 El servidor escucha peticiones en el puerto 21 para la conexión de control.
El cliente inicia la conexión de control contra el servidor.
2 El cliente escucha peticiones en el puerto n+1 para la conexión de datos,
siendo n el puerto usado en la conexión de control en el cliente. El
servidor inicia la conexión de datos usando como puerto origen el 20
3 Existe un problema de seguridad, puesto que el cliente debe aceptar
cualquier conexión de entrada a dicho puerto (n+1), con el consiguiente
riesgo si estamos conectados a una red insegura como internet
Modo pasivo
1 El servidor abre 2 puertos, uno para control (21) y otro para datos.
2 El cliente envı́a el comando PASV en el canal de control (21 del servidor)
y el servidor le informa al cliente el nuevo puerto abierto para establecer
la transferencia de datos.
3 Es el cliente el que inicia las dos conexiones por lo que se evita el
problema de seguridad derivado de abrir un puerto en el cliente
42 / 73
Modo activo
43 / 73
Tipo de transferencia
Tipo ASCII
Transfiere ficheros, solo con caracteres imprimibles.
Ejemplo txt, html, ps,. . . .
Tipo binario
Ficheros ejecutables, imágenes, comprimidos, . . . .
Ejemplo doc, zip, tar, . . . .
44 / 73
Tipo de transferencia
Tipo ASCII
Transfiere ficheros, solo con caracteres imprimibles.
Ejemplo txt, html, ps,. . . .
Tipo binario
Ficheros ejecutables, imágenes, comprimidos, . . . .
Ejemplo doc, zip, tar, . . . .
45 / 73
Comandos FTP
Comandos y argumentos Acción que realiza
open host Inicia la conexión
close, disconnect Finaliza la conexión
bye, quit Finaliza la conexión
cd/lcd directorio Cambia de directorio remoto/local
delete fichero Borra fichero
dir, ls Muestra el contenido del directorio
get archivos Recepción de los archivos al cliente
put archivo Envı́a un archivo
mput/mget archivos Envı́a/Recibe múltiples archivos
pwd Muestra el directorio de trabajo
rename fichero Renombra el fichero
mkdir directorio Crea un directorio
rmdir directorio Borra un directorio
! comando ejecuta dicho comando en el sistema local
?, help Lista de comandos disponibles
46 / 73
Práctica 1
Instalacion del servidor FTP en GNU/Linux
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Servidor vsftpd
Instala el servidor vsftpd en un contenedor docker llamado
sftp inicialyapellido. Comprueba que los puertos se encuentran abiertos.
Configura tu sistema para que puedan acceder usuarios anónimos solo
para descargas, siendo /home/ftp el directorio al que acceden (crea varios
ficheros en ese directorio).
Habilita tu servidor para que los usuarios de sistema puedan acceder al
servidor en modo lectura-escritura y enjaulados.
Cambia el mensaje de bienvenida al servidor.
Cliente
Desde el cliente linux y usando el cliente lftp, accede al servidor filezilla y
transfiere ficheros en ambos sentidos, tanto en modo anónimo como con
un usuario registrado.
Instala el cliente filezilla en un cliente windows y realiza el paso anterior.
Investiga como acceder de otra manera desde Windows al servidor que
has montado (con el gestor de archivos)
54 / 73
Práctica 2
Instalacion del servidor FTP en Windows
Cliente
Desde el cliente linux y usando el cliente lftp, accede al servidor filezilla y
transfiere ficheros en ambos sentidos, tanto en modo anónimo como con
un usuario registrado.
Instala el cliente filezilla en un cliente windows y realiza el paso anterior.
Investiga como acceder de otra manera desde Windows al servidor que
has montado (con el gestor de archivos)
55 / 73
Práctica 2
Instalacion del servidor FTP en Windows
Cliente
Desde el cliente linux y usando el cliente lftp, accede al servidor filezilla y
transfiere ficheros en ambos sentidos, tanto en modo anónimo como con
un usuario registrado.
Instala el cliente filezilla en un cliente windows y realiza el paso anterior.
Investiga como acceder de otra manera desde Windows al servidor que
has montado (con el gestor de archivos)
56 / 73
Práctica 2
Instalacion del servidor FTP en Windows
Cliente
Desde el cliente linux y usando el cliente lftp, accede al servidor filezilla y
transfiere ficheros en ambos sentidos, tanto en modo anónimo como con
un usuario registrado.
Instala el cliente filezilla en un cliente windows y realiza el paso anterior.
Investiga como acceder de otra manera desde Windows al servidor que
has montado (con el gestor de archivos)
57 / 73
Práctica 2
Instalacion del servidor FTP en Windows
Cliente
Desde el cliente linux y usando el cliente lftp, accede al servidor filezilla y
transfiere ficheros en ambos sentidos, tanto en modo anónimo como con
un usuario registrado.
Instala el cliente filezilla en un cliente windows y realiza el paso anterior.
Investiga como acceder de otra manera desde Windows al servidor que
has montado (con el gestor de archivos)
58 / 73
Práctica 2
Instalacion del servidor FTP en Windows
Cliente
Desde el cliente linux y usando el cliente lftp, accede al servidor filezilla y
transfiere ficheros en ambos sentidos, tanto en modo anónimo como con
un usuario registrado.
Instala el cliente filezilla en un cliente windows y realiza el paso anterior.
Investiga como acceder de otra manera desde Windows al servidor que
has montado (con el gestor de archivos)
59 / 73
Práctica 3
Wireshark
Lanza el sniffer wireshark y comprueba que tanto el logueo,
contraseña y demás datos van en texto plano.
60 / 73
Práctica 3
Wireshark
Lanza el sniffer wireshark y comprueba que tanto el logueo,
contraseña y demás datos van en texto plano.
61 / 73
Práctica 3
Wireshark
Lanza el sniffer wireshark y comprueba que tanto el logueo,
contraseña y demás datos van en texto plano.
62 / 73
Práctica 3
Wireshark
Lanza el sniffer wireshark y comprueba que tanto el logueo,
contraseña y demás datos van en texto plano.
63 / 73
Práctica 4: Script en ftp
Pasos previos:
1 Crear manualmente tanto en el servidor ftp como en el cliente (ambos en