Sei sulla pagina 1di 15

Prctica 2: Herramientas bsicas de red y el protocolo FTP

Esta prctica tiene dos objetivos. En primer lugar presenta una aplicacin til para el acceso a los sockets con fines diagnsticos y tambin didcticos. En segundo lugar, presenta el protocolo de aplicacin FTP. La prctica se realizar en Linux, por lo que debes iniciar una sesin en tu puesto de trabajo con este sistema operativo. Antes de iniciar la prctica debes crear un directorio llamado practica2 en el que desarrollars todos los ejercicios de esta sesin. Al finalizar la prctica borrars este directorio para dejar la mquina en las mismas condiciones en que la encontraste.

1. El programa SOCK
En esta prctica utilizaremos un programa denominado sock que nos permite enviar y recibir informacin utilizando sockets TCP y UDP mediante sencillas rdenes desde el shell. Lo primero que necesitamos es obtener el programa. Para ello escribimos el siguiente URL en el navegador:
http://sunsite.rediris.es/sites2/ibiblio.org/linux/utils/shell/

donde encontraremos el archivo sock-1.1.tar.gz que contiene el programa que vamos a utilizar. Lo almacenamos en el directorio

P2-2

Prcticas de Redes de Computadores

practica2. Si lo prefieres, puedes utilizar la orden wget. Si no la conoces y deseas usarla, teclea man wget para obtener ayuda. Una vez realizado esto teclearemos la orden tar xvfz sock1.1.tar.gz para descomprimir los archivos y el resultado aparecer en el subdirectorio sock-1.1 Como en otros programas que se distribuyen en formato de cdigo fuente, se adjunta un script que configura el fuente antes de proceder a su compilacin. Para ello deberemos situarnos dentro del directorio sock-1.1 y ejecutar la orden ./configure con la que el programa quedar preparado para su compilacin y montaje, que realizaremos mediante la orden make. Ahora ya disponemos del programa sock ejecutable1. Para acceder a la ayuda, que se integrara en el sistema si se hubiera realizado la instalacin (que slo puede hacer el usuario root), podemos teclear man -l sock.1 y se mostrar el detalle del funcionamiento de la orden sock, sus parmetros y significado, as como el autor del programa. Tambin podemos acceder a una ayuda breve con la orden ./sock h, como se muestra a continuacin:
Usage: sock [-vtuxde] ([-b <local>] <remote> | -l <local>) [<command>] -v Be verbose -t Use TCP socket (default) -u Use UDP socket -x Use UNIX-domain socket -b Bind local end to specified address -l Listening mode -d Daemon mode (listen only) -- process multiple connections -e Terminate as soon as EOF is seen in any direction -n Avoid reverse DNS lookups

2. Conceptos bsicos
El programa sock ofrece un modo de acceder al interfaz de los sockets sin tener que programar. El programa conecta la entrada/salida estndar (teclado/pantalla) con un socket cuyas caractersticas se especifican

En un sistema sobre el que tuviramos privilegios de administrador podramos finalizar haciendo make install para que los binarios y los archivos de ayuda se copiaran a los directorios apropiados del sistema. Como no es nuestro caso, en esta prctica obtendramos un mensaje de error si lo hiciramos.

Herramientas bsicas de red y el protocolo FTP

P2-3

mediante parmetros al ejecutar la orden. Mediante la redireccin de la entrada o la salida se puede enviar el contenido de un archivo o almacenar en un archivo la informacin recibida. Los sockets pueden ser de dos tipos: UDP o TCP, que se corresponden con un servicio sin conexin, que no garantiza ni la entrega ni el orden de entrega de la informacin (UDP) y otro servicio que garantiza la entrega ordenada y sin errores de la informacin (TCP). Adems, sabemos que una aplicacin puede comenzar iniciando la comunicacin (enviando informacin) o bien puede esperar pacientemente hasta que la otra le solicite el inicio de la comunicacin (espera peticin). El programa sock nos va a permitir imitar cualquiera de estas situaciones y alguna otra cosa ms. Vamos a ver, mediante una serie de ejercicios, sus posibilidades. Puesto que no hemos realizado la instalacin completa de la aplicacin (que incluira su colocacin en un directorio presente en la ruta de bsqueda) nos mantendremos durante toda la prctica en el directorio
sock-1.1

3. Clientes TCP
Vamos a comenzar viendo qu sucede cuando un navegador se dirige a un servidor de web y le solicita una pgina.

Ejercicio 1:
1. En la sesin de terminal teclea lo siguiente2:
./sock -e www.upv.es:80

Con esta orden se est conectando al servidor www.upv.es (que es el servidor de web de la UPV) al puerto 80, que es donde se encuentra este servicio habitualmente (well-known port) y se utiliza el protocolo TCP. 2. A continuacin teclea:
GET / HTTP/1.0

Podemos evitar tener que aadir cada vez ./ delante de la orden sock cambiando la ruta de bsqueda de los comandos mediante la orden PATH=$PATH:$HOME/sock-1.1

P2-4

Prcticas de Redes de Computadores

Atencin: Hay que pulsar la tecla de retorno de carro dos veces despus de la segunda lnea. Como resultado de esta accin se recibir un texto parecido al siguiente:
HTTP/1.1 200 OK Date: Mon, 18 Oct 2004 14:55:11 GMT Server: Apache/1.3.26 (Unix) mod_ssl/2.8.10 OpenSSL/0.9.6g mod_perl/1.27 Connection: close Content-Type: text/html <html> <head> <title>Universitat Politcnica de Valncia</title> ... </html>

3. El contenido recibido se ha mostrado por la salida estndar, que era en este caso la pantalla. Si se desea capturar este texto se puede redirigir la salida a un archivo mediante el operador >. Recapitulando, lo que estamos haciendo es crear un socket en nuestro ordenador. Ese socket, que acta como cliente, lo conectamos al servidor de web de la UPV y le solicitamos que nos enve el contenido de su pgina web inicial. La conexin iniciada por el programa sock se realiza al puerto 80 del servidor www.upv.es y dura slo lo indispensable hasta que se entrega la pgina web solicitada. Es importante destacar que la respuesta del servidor contiene una informacin del protocolo HTTP (o cabecera) a la que sigue, despus de una lnea en blanco, el cdigo HTML de la pgina solicitada. Tras enviar esa informacin el servidor cierra la conexin, con lo cual la ejecucin de la orden sock finaliza.

Ejercicio 2:
1. En la sesin de terminal teclea lo siguiente:
./sock :22

2. Debes obtener como resultado algo as:


SSH-1.99-OpenSSH_2.9p1

3. Observa que el programa no finaliza. Para que lo haga tendrs que pulsar las teclas CTRL+C

Herramientas bsicas de red y el protocolo FTP

P2-5

En este ejercicio estamos conectando con el servidor SSH local que se est ejecutando en el mismo computador desde el que ejecutamos la orden. Esto es as porque al no especificar un servidor y slo un puerto (:22) se entiende que nos referimos al ordenador local. El servidor SSH comienza enviando una cadena que identifica la versin del programa, y eso es lo que obtenemos como resultado.

4. Servidor TCP
Los programas pueden esperar pacientemente a que se les solicite algo antes de enviar alguna informacin. Este es el comportamiento de muchos servidores. Utilizando el programa sock vamos a crear un servidor cuya nica funcin es esperar a que un cliente se conecte y luego conecta la entrada y salida estndar con ese cliente.

Ejercicio 3:
1. Para crear un socket servidor teclea lo siguiente en la sesin de terminal:
./sock -le :7701

2. Ahora, abriendo una nueva ventana de terminal, ejecuta la orden:


./sock -e :7701

Escribe en esta ventana y observa los que sucede en la otra. Seguidamente escribe en la ventana inicial, qu sucede en la segunda ventana? 3. Cierra la segunda ventana (cliente) y prueba con la orden:
telnet localhost 7701

Qu sucede? Qu diferencias aprecias respecta al punto 2? Son rdenes equivalentes? El parmetro -l hace que la aplicacin configure el socket en modo escucha (listen) y acepte peticiones. Por tanto, en el punto 1 del ejercicio anterior hemos puesto en marcha, en nuestro computador, un servidor que escucha en el puerto 7701, mientras que las rdenes de los pasos 2 y 3 han arrancado clientes TCP que se han conectado a ese puerto.

P2-6

Prcticas de Redes de Computadores

Ejercicio 4:
1. Teclea lo siguiente:
./sock -l :7701 -d ls

2. Ahora, en la otra sesin de terminal (en otra ventana) ejecuta la orden3:


./sock -e :7701

3. Observa lo que sucede. En este experimento se ha construido un miniservidor. Lo que hace el programa es esperar la conexin de un usuario al puerto indicado (7701 en este caso) y cuando el cliente se conecta (mediante la orden sock o el programa telnet) entonces ejecuta la orden ls que lista el contenido del directorio y lo enva a travs del socket. Una vez finalizada la orden ls el servidor corta la conexin del cliente, pero sigue escuchando en el puerto para atender nuevas peticiones de otros clientes. Si se sustituye la orden ls por la orden date tenemos un miniservidor de fecha y hora. Comprubalo!

5. El protocolo UDP
Del mismo modo que en los ejemplos anteriores hemos utilizado el protocolo TCP, ahora vamos a ver cmo podemos enviar informacin mediante el protocolo UDP. Para ello mantendremos las dos ventanas de terminal que tenemos abiertas.

Ejercicio 5:
1. En una sesin de terminal teclea lo siguiente:
./sock -ul :7701

2. Y en otra sesin ejecuta la orden:


./sock -u :7701

Escribe en esta ventana y observa los que sucede en la otra. 3. Ahora puedes cambiar la orden del paso nmero dos por la siguiente:
date | ./sock -u :7701

Aqu tambin se puede emplear la orden telnet localhost 7701 con idnticos

efectos.

Herramientas bsicas de red y el protocolo FTP

P2-7

Como ves el funcionamiento es bastante similar, pero al carecer UDP del concepto de conexin no podemos construir un servidor de manera tan sencilla.

6. Transferencia de archivos
En los ejercicios anteriores has visto algunos de los usos que nos permite un socket. Vamos ahora a utilizar los servicios de TCP y UDP para el envo de archivos entre dos ordenadores. Puesto que nuestro puesto de trabajo slo tiene un ordenador, el otro ordenador ser el servidor zoltar.redes.upv.es. En el siguiente ejercicio vamos a mostrar cmo transferir un archivo empleando el programa sock:

Ejercicio 6:
1. En tu ordenador, descarga la imagen de la nube de la pgina web de la asignatura (wget www.redes.upv.es/redes/images/nube.gif o, en el navegador, pulsar botn derecho y guardar imagen) en un archivo llamado nube.gif . 2. Desde otra ventana, conctate a zoltar.redes.upv.es tecleando
ssh zoltar.redes.upv.es -l nombre_usuario

3. Ahora vamos a enviar la imagen haciendo en tu ordenador


./sock -l :8888 -d 'cat nube.gif'

4. En zoltar, teclea4
sock -e rdcXX.redes.upv.es:8888>nube.gif 5. Comprueba que el archivo recibido en zoltar tiene el mismo tamao que el

original. En este ejercicio se ha realizado la trasferencia del archivo mediante el protocolo TCP. Tu ordenador ha quedado a la espera de un cliente en el paso 3, y desde zoltar te has conectado como tal cliente en el paso 4. Entonces tu ordenador ha listado el contenido del archivo nube.gif a

4 Atencin: Cada uno debe usar el nombre de ordenador que puede leer en la etiqueta adhesiva de su ordenador, desde rdc01.redes.upv.es hasta rdc22.redes.upv.es

P2-8

Prcticas de Redes de Computadores

travs de la conexin entre zoltar y tu puesto de trabajo. El flujo de datos resultante ha quedado almacenado en tu cuenta de zoltar en el archivo nube.gif. Es interesante resaltar que aunque el archivo resultante tenga el mismo tamao, eso no nos garantiza que la transferencia ha tenido xito (y si el contenido fuera diferente?). Ahora enviaremos el archivo de vuelta para poderlo comprobar, pero empleando el protocolo UDP.

Ejercicio 7:
1. En tu puesto de trabajo, teclea ./sock -ul :8888> red.gif

lo que te prepara para recibir el archivo, -u indica UDP.


2. Desde otra ventana, conctate a zoltar.redes.upv.es tecleando: ssh zoltar.redes.upv.es -l nombre_usuario 3. En zoltar, teclea lo siguiente para enviar el archivo: cat nube.gif | sock -u rdcXX.redes.upv.es:8888

4. A continuacin, finaliza la orden del paso 1 pulsando Ctrl+C en esa ventana (asegrate de que la has seleccionado primero, haciendo click con el ratn). 5. Comprueba que los archivos nube.gif y red.gif son iguales con la orden
diff nube.gif red.gif

Si ambos archivos son iguales (la orden diff no da ningn mensaje) entonces podemos concluir que tanto la transmisin desde nuestro ordenador a zoltar, empleando TCP, como la vuelta, empleando UDP, no han sufrido errores. Si repites la operacin con un archivo mayor encontrs que la transmisin por TCP no tiene problemas pero la de UDP podra fallar eventualmente.

7. Difusin
La razn que hace que UDP tenga utilidad para muchas aplicaciones es su capacidad para hacer difusiones. Las difusiones son transmisiones que pueden ser recibidas por todos los ordenadores de una red. Una difusin se puede realizar enviando un datagrama a la direccin 255.255.255.255. Este datagrama ser recibido por todos los ordenadores de la misma red IP. Sin

Herramientas bsicas de red y el protocolo FTP

P2-9

embargo, y por motivos de seguridad, el uso de esta caracterstica est a menudo restringido. Por este motivo no se puede emplear en esta prctica. Una forma de evitar esta restriccin (en nuestro caso) es emplear la direccin IP de multicast 224.0.0.1, que est configurada en todos nuestros equipos como si se tratara de una direccin de difusin. En esta prctica el profesor tiene un programa que enva, peridicamente, un mensaje UDP por difusin al puerto 12345. El cdigo de este programa es similar a:
while true; do sleep 5 echo Saludos| sock u 224.0.0.1:12345 done

Vamos a ver cmo se puede recibir uno de los mensajes enviados por este programa.

Ejercicio 8:
1. En tu puesto de trabajo teclea
./sock -ul :12345

2. Espera unos instantes, el mensaje se emite cada poco tiempo, paciencia.

8. El protocolo FTP
En la prctica anterior nos familiarizamos con el funcionamiento de un cliente ftp. Pudimos comprobar que existen clientes ftp con diversas interfaces de usuario. Algunas de ellas requieren la introduccin de rdenes textuales por parte del usuario (programa ftp de Windows o Linux), mientras que otras se basan en un entorno grfico (navegador Internet Explorer o Netscape, por ejemplo). En esta prctica vamos a explorar el protocolo FTP5 que deben seguir todos estos clientes, y los respectivos servidores, para realizar las operaciones de transferencia de ficheros. Este protocolo, que est descrito en el RFC 959, es nico e independiente de lo sofisticada o simple que sea la interfaz de usuario.

5 Usaremos maysculas (FTP) para denominar al protocolo, minsculas (ftp) para el servicio y caracteres mecanogrficos (ftp) para nombrar la aplicacin o agente de usuario.

P2-10

Prcticas de Redes de Computadores

Una transferencia de ficheros mediante FTP se inicia con una conexin TCP del cliente al puerto 21 del servidor. Esta conexin se establece en el mismo momento en que el usuario introduce la URL ftp://nombre.del.servidor en la barra de direcciones del navegador o ejecuta la orden ftp nombre.del.servidor en un shell, y dura toda la sesin ftp. A travs de esta conexin el cliente enviar sus rdenes al servidor, y ste le responder mediante un cdigo de control para informarle sobre el resultado de estas rdenes. Por este motivo, la conexin al puerto 21 se denomina conexin de control. Algunas de las rdenes ms habituales del protocolo FTP son las siguientes (aunque exista alguna similitud con las rdenes de la interfaz usuario-cliente, las siguientes corresponden a las rdenes del protocolo que se usa en la comunicacin cliente-servidor a travs de Internet)6: Orden FTP
USER NombreDeUsuario PASS Contrasea CWD NombreDeDirectorio LIST [ListaDeFicheros] MKD NombreDeDirectorio PWD PORT n1,n2,n3,n4,n5,n6

Funcin
Identifica al usuario en el servidor Palabra clave del usuario Cambia de directorio en el servidor Lista informacin de ficheros o directorios Crea un directorio Muestra el nombre del directorio actual Indica la direccin IP del cliente (n1.n2.n3.n4) y el nmero de puerto del cliente (n5.n6) donde el servidor puede realizar la conexin de datos Se va a usar el modo pasivo Obtiene un fichero desde el servidor Almacena un fichero en el servidor Obtiene el tipo de sistema operativo del servidor Cambia el tipo de transmisin (A = ASCII, I = binaria) Desconexin (termina la conexin de control)

PASV RETR Fichero STOR NombreDeFichero SYST TYPE Tipo QUIT

Las respuestas del servidor constan de un cdigo numrico de tres cifras seguido de un comentario que explica su significado. Los cdigos del

En este punto es conveniente revisar las rdenes del cliente ftp vistas en la prctica anterior.

Herramientas bsicas de red y el protocolo FTP

P2-11

tipo 1xx, 2xx y 3xx son respuestas positivas, mientras que los cdigos 4xx y 5xx indican que se ha producido algn error en la ltima operacin. Para comprobar de qu forma las instrucciones que vamos introduciendo en nuestro cliente ftp generan rdenes del protocolo FTP, ejecutaremos en Linux la orden ftp, de la siguiente manera:
redes@rdc01:~> ftp ftp> debug Debugging on (debug=1). ftp> open zoltar.redes.upv.es Connected to zoltar.redes.upv.es. 220 (vsFTPd 1.2.1) ftp_login:user'<null>'pass'<null>'host 'zoltar.redes.upv.es' Name (zoltar.redes.upv.es:user): nombre_usuario ---> USER nombre_usuario 331 Please specify the password. Password:******** ---> PASS XXXX 230 Login successful. ---> SYST 215 UNIX Type: L8 Remote system type is UNIX. Using binary mode to transfer files. ... ftp>

Como se puede observar, hemos activado la opcin debug, para que el programa muestre el dilogo FTP. En este listado se entremezclan rdenes e informacin del agente de usuario (el programa ftp), con rdenes y respuestas del protocolo FTP. Las rdenes FTP se distinguen porque van precedidas de '--->'. stos son los mensajes que nuestro agente de usuario enva al servidor como resultado de las rdenes introducidas por el usuario. Las respuestas del servidor son las lneas que empiezan por un nmero (220, 331, 230 y 215, en el ejemplo). Tras establecer la conexin con zoltar hemos obtenido un saludo del servidor (220(vsFTPd 1.2.1)). La identificacin del usuario y su contrasea, han generado las correspondientes rdenes FTP y respuestas positivas por parte del servidor. Finalmente, el cliente ha enviado la orden SYST para averiguar el sistema operativo del servidor.

P2-12

Prcticas de Redes de Computadores

Ejercicio 9:
1. Utiliza el cliente ftp para reproducir la secuencia del listado anterior. Utiliza como usuario para la sesin ftp el nombre de usuario proporcionado por el profesor. 2. A continuacin, sin salir del cliente ftp, crea un directorio dirXX en zoltar (donde XX es el nmero de tu puesto de trabajo) y cmbiate a ese directorio. Observa las rdenes y respuestas FTP que se generan. Si desconoces, o no recuerdas, alguna orden de ftp, puedes obtener ayuda tecleando help [orden]. 3. Vuelve al directorio anterior, con la orden cd .. o cdup. 4. No cierres la sesin ftp, ya que continuaremos con ella en el siguiente ejercicio. Cuando se va a transferir un fichero desde el servidor o se quiere obtener un listado de un directorio, el protocolo FTP exige que se abra una nueva conexin a travs de la cual se realizar la transferencia de informacin. La nueva conexin, llamada conexin de datos, dura lo necesario para enviar los datos y a continuacin se cierra. Si posteriormente se requiere una nueva transferencia de fichero o listado de directorio, FTP abrir una nueva conexin de datos. El protocolo FTP ofrece dos mecanismos para establecer la nueva conexin de datos: modo activo y modo pasivo. Para permutar entre los dos modos de funcionamiento en el agente de usuario ftp se usa la orden passive. Por defecto, Linux usa el modo pasivo que, como veremos, es ms aconsejable cuando nuestro cliente acta detrs de un cortafuegos o un NAT.

9. Modo activo
En este modo el servidor, al contrario de lo que es habitual, realiza un papel activo y abre la conexin de datos al puerto que previamente le indica el cliente. Para avisar al servidor que se va a usar este modo de conexin, el cliente enva la orden FTP: PORT n1,n2,n3,n4,n5,n6. Con esta orden le indica que espera la conexin del servidor en la direccin IP n1.n2.n3.n4 (su propia direccin) y en el puerto especificado por los nmeros n5 y n6, donde n5 representa los 8 bits de mayor peso del nmero de puerto y n6 los 8 bits de menor peso. Por tanto, el nmero de puerto se obtiene mediante el clculo n5*256 + n6. Por ejemplo, si el cliente quiere usar el puerto 1025,

Herramientas bsicas de red y el protocolo FTP

P2-13

indicara n5 = 4 y n6 = 1. Tras recibir esta informacin, el servidor inicia una conexin desde su puerto 20 sobre el puerto del cliente indicado en la orden PORT. A continuacin, el cliente indicar qu operacin de transferencia de datos quiere realizar (LIST,RETR o STOR) y el servidor (o el cliente) enviar la informacin solicitada por la conexin de datos recin establecida. Veamos un ejemplo de cmo se usa el modo activo.

Ejercicio 10:
1. Continuando la sesin iniciada7 en el ejercicio 9, ejecuta la orden epsv4 para deshabilitar las extensiones FTP definidas en el RFC 2428, que no soportan todos los servidores y nos distraen de nuestro objetivo. 2. Ejecuta la orden passive para permutar al modo activo. Parece contradictorio, pero recuerda que esta orden permuta entre ambos modos de transferencia y que por defecto ftp se inicia en el modo pasivo. 3. Solicita un listado del directorio actual y observa las rdenes y respuestas FTP que se generan. Fjate bien, porque en el ejercicio siguiente te pediremos que reproduzcas esta secuencia a mano. 4. Cierra la sesin ftp. A continuacin, vamos a emular el funcionamiento del programa ftp en modo activo, usando la herramienta sock que hemos introducido en la primera parte de esta prctica.

Ejercicio 11:
1. Abre una ventana de rdenes (la primera). Con la utilidad sock establece una conexin de control FTP con zoltar.redes.upv.es, puerto 21. 2. Basndote en la secuencia que has observado en el ejercicio 9, enva las rdenes FTP oportunas para establecer una sesin con el nombre de usuario proporcionado por el profesor.

Existe un mecanismo de timeout que cierra las conexiones de control FTP que no se usan durante un tiempo. Si esto ocurre, no queda ms remedio que volver a iniciar la sesin ftp tal como se hizo en el ejercicio anterior.

P2-14 escucha:
./sock -le :1025

Prcticas de Redes de Computadores

3. En otra ventana (la segunda) abre un socket en el puerto 1025 en modo

4. En la primera ventana, enva la orden PORT para avisar al servidor que se va a usar el modo activo y comuncale que le ests esperando en el puerto 1025. 5. Solicita un listado del directorio actual con la orden LIST y observa qu ocurre en la segunda ventana. 6. Descarga el fichero nube.gif. Para ello, usa de nuevo la orden PORT, pero indicando ahora el puerto 1026 (los puertos recin usados no se pueden reutilizar hasta pasado un tiempo) y a continuacin la orden RETR nube.gif. Recuerda que antes de esto debes tener preparada la recepcin del fichero en la segunda ventana con la orden:
./sock -le :1026 > apelo.gif

7. Comprueba que este nuevo fichero es igual al nube.gif que ya tienes en tu directorio. 8. Cierra la conexin de control con la orden QUIT.

10. Modo pasivo


La solucin basada en el modo activo es problemtica para aquellos clientes que operan detrs de un cortafuegos o un NAT, ya que habitualmente estos dispositivos impiden el establecimiento de conexiones iniciadas desde el exterior de la red protegida por el cortafuegos. Para estos casos es necesario un mecanismo en el que sea el cliente el que solicite el establecimiento de la conexin de datos. En el modo que vamos a analizar a continuacin, el servidor juega su habitual papel pasivo en el establecimiento de las conexiones. Para que el cliente pueda tomar la iniciativa de la conexin es necesario que el servidor le indique en qu puerto le estar esperando. Una vez realizada la conexin, se transmitir a travs de la misma el fichero solicitado.

Herramientas bsicas de red y el protocolo FTP

P2-15

Ejercicio 12:
1. Repite los pasos del ejercicio 9 e inicia una sesin ftp con zoltar. Por defecto se iniciar en el modo pasivo. 2. Ejecuta la orden epsv4. 3. Solicita un listado del directorio actual. Observa la direccin IP y el nmero de puerto en el que se abrir la conexin de datos. Para ello debes fijarte en la respuesta del servidor con cdigo 227 Entering Passive Mode (n1,n2,n3,n4,n5,n6). La interpretacin de los n1,...,n6 es la misma que en la orden PORT. A continuacin, vamos a reproducir el funcionamiento del programa
ftp en modo pasivo que acabamos de observar, usando la herramienta

sock.

Ejercicio 13:
1. Abre una ventana de rdenes (la primera). Con la utilidad sock establece una conexin de control FTP con zoltar.redes.upv.es, puerto 21. 2. Enva las rdenes FTP oportunas para establecer una sesin con el nombre de usuario proporcionado por el profesor. 3. Enva la orden PASV con los parmetros adecuados para avisar al servidor que se va a usar el modo pasivo. 4. Observa la respuesta con cdigo 227 del servidor. En una segunda ventana abre un socket cliente dirigido al puerto que te est indicando el servidor:
./sock -e zoltar.redes.upv.es:XXXXX

5. En la primera ventana, solicita un listado del directorio actual con la orden LIST y observa qu ocurre en la segunda.

11. Para terminar


Una vez concluidos los ejercicios de esta prctica, borra todo el contenido del directorio de trabajo del servidor zoltar y de tu ordenador. Gracias.

Potrebbero piacerti anche