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 una 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:
-
-
Gentoo Linux:
-
-
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:
-
-
Gentoo Linux:
-
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.
-
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.
-
Cuestión 5.1:
- Describa brevemente para qué se utilizan los programas Telnet y
Ftp.
-
Cuestión 5.2:
- 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.
-
Cuestión 5.3:
- En la aplicación Ftp, ¿qué diferencias hay entre transmitir los
ficheros en formato binario y en formato ASCII? Investigue en Internet.
-
Cuestión 5.4:
- 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 qué otro servicio necesariamente
no podría ofrecerse en el host que tiene el servidor Telnet escuchando en el
puerto 80.