Ftp es, junto con Telnet, uno de esos programas que aparecieron en las primeras redes de
computadoras. Si Telnet permite acceder de forma remota a un host, Ftp se utiliza para
transmitir ficheros entre hosts remotos.
Ftp es un sistema que consta de un servidor y de un cliente. El usuario ejecuta el
cliente de la forma:
usuario$ ftp <host_remoto>
El servidor Ftp solicita un login y un password correctos y cuando dicha información
ha sido enviada (sin cifrar), el cliente ejecuta un intérprete sencillo de órdenes que
permiten mover ficheros entre nuestro host y el remoto.
Existen muchos clientes Ftp. El que nosotros vamos a instalar se llama ftp y pertenece al paquete
Linux NetKit ( http://www.hcs.harvard.edu/\~{}dholland/computers/netkit.html):
-
Debian Linux:
-
root# apt-get install ftp
-
Fedora Core Linux:
-
root# yum install ftp
-
Gentoo Linux:
-
root# emerge ftp
_____________________________________________________________
Taller 5.5: Instale un cliente Ftp.
____________________________________________________
A continuación presentamos una lista de los principales comandos que acepta el
cliente:
-
pwd:
- Imprimir el directorio actual.
-
ls:
- Mostrar el contenido del directorio remoto.
-
cd <directorio>:
- Nos permite cambiar de directorio.
-
get <fichero>:
- Transfiere un fichero desde el host remoto al host local.
-
put <fichero>:
- Transfiere un fichero desde el host local al host remoto.
-
!<comando local>:
- Ejecuta un comando en un shell del cliente.
-
quit:
- Cierra el intérprete del Ftp.
Si se desea conocer el resto de comandos que el cliente Ftp acepta, escriba help en el shell
del cliente Ftp._____________________________________________________________________________________
Taller 5.6: Conéctese a un servidor Ftp que conozca desde el PC
virtual y transfiera algún archivo. Haga lo mismo desde el host huésped
(Windows).
_________________________________________________________________________________
También existen múltiples servidores Ftp. El que nosotros vamos a instalar se llama
vsftpd ( http://vsftpd.beasts.org/):
-
Debian Linux:
-
root# apt-get install vsftpd
-
Fedora Core Linux:
-
root# yum install vsftpd
-
Gentoo Linux:
-
root# emerge vsftpd
En el vsftpd, por defecto, sólo tiene acceso el usuario anonymous. Para habilitar
el acceso a todos los usuarios del sistema es necesario descomentar la línea
local_enable=YES. Además, si queremos habilitar la escritura en los home’s de los
usuarios, hay que descomentar la línea write_enable=YES. No olvide reiniciar el servicio
si ha modificado algún parámetro en el fichero de configuración (véase el Apéndice
C).
-
Debian Linux:
- El fichero de configuración es /etc/vsftpd.conf. Excepto lo indicado
anteriormente no hay que realizar nada extra.
# Editar el fichero y salvarlo
root# vi /etc/vsftpd.conf
-
Fedora Core Linux:
- Si se desea que los usuarios tengan acceso a su home’s en la máquina
remota hay deshabilitar selinux modificando el fichero /etc/selinux/config.
Esto puede hacerse con el comando:
root# /usr/sbin/setsebool -P ftp_home_dir 1
-
Gentoo Linux:
- Es necesario crear un fichero de configuración. Por suerte, la que viene
en el fichero /etc/vsftpd/vsftpd.conf.example es suficiente para la mayoría
de los servicios más comunes:
root# cp /etc/vsftpd/vsftpd.conf.example /etc/vsftpd/vsftpd.conf
El demonio que hemos instalado se activa y desactiva de forma estándar. Véase el
Apéndice C para saber cómo hacer esto.__________________________________
Taller 5.7:
- Instale un servidor Ftp en un PC virtual y configurelo para que los
usuarios puedan escribir en sus home’s.
- Acceda desde el host huésped (Windows) a su cuenta de usuario
en el host virtual y transfiera algún fichero. Esto puede hacerse
invocando desde el intérprete de comandos del MS-DOS al
programa ftp. Pruebe a hacer lo mismo desde el PC virtual.
- Compruebe que activando y desactivando el servidor, el servicio se
reanuda o deja de prestarse.
________________________________________________________________________________________________
- Describa brevemente para qué se utilizan los programas Telnet y Ftp.
- Usando Wireshark (véase el Apéndice F) diseñe un time-line que muestre una
interacción real entre un cliente y un servidor Telnet suponiendo que el usario
sólo ejecuta el comando exit una vez que ha accedido al servidor remoto.
Muestre sólo los paquetes generados por el protocolo Telnet que dependen
de la sesión (los generados cuando introducimos nuestro login y nuestro
password ,
y los que resultan de ejecutar el comando exit). En cada paquete transmitido
indique el contenido del payload (la parte del paquete que es generada en la
parte más alta de la pila de protocolos) y el instante en el que es capturado
por el sniffer.
- En la aplicación Ftp, ¿qué diferencias hay entre transmitir los ficheros en
formato binario y en formato ASCII? Investigue en Internet.
- Actualmente es imposible realizar Telnet o Ftp a un ordenador de la Universidad
de Almería desde el resto de Internet, si estos servicios están siendo ofrecidos
en los puertos estándar (véase el fichero /etc/services).
¿Por qué esto es así? Sabiendo que, por ejemplo, el tráfico Web sí está
permitido, ¿podría instalarse un servidor Telnet en el puerto 80 (el puerto
usado por los servidores Web) y conectarnos a él desde fuera de la Universidad?
Razone su respuesta. Indique en este último caso si se podría ofrecer otro
servicio escuchando en el puerto 80.