PDF de programación - Práctica 2: Herramientas básicas de red y el protocolo FTP

Imágen de pdf Práctica 2: Herramientas básicas de red y el protocolo FTP

Práctica 2: Herramientas básicas de red y el protocolo FTPgráfica de visualizaciones

Publicado el 11 de Agosto del 2020
92 visualizaciones desde el 11 de Agosto del 2020
65,9 KB
15 paginas
Creado hace 14a (02/11/2005)
Práctica 2: Herramientas básicas de

red y el protocolo FTP



Esta práctica tiene dos objetivos. En primer lugar presenta una
aplicación útil para el acceso a los sockets con fines diagnósticos y también
didácticos. En segundo lugar, presenta el protocolo de aplicación FTP.

La práctica se realizará en Linux, por lo que debes iniciar una sesión
en tu puesto de trabajo con este sistema operativo. Antes de iniciar la
práctica debes crear un directorio
llamado “practica2” en el que
desarrollarás todos los ejercicios de esta sesión. Al finalizar la práctica
borrarás este directorio para dejar la máquina en las mismas condiciones en
que la encontraste.

1. El programa SOCK

En esta práctica utilizaremos un programa denominado sock que nos
permite enviar y recibir información 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
Prácticas 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 sock-
1.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 código
fuente, se adjunta un script que configura el fuente antes de proceder a su
compilación. Para ello deberemos situarnos dentro del directorio sock-1.1 y
ejecutar la orden ./configure con la que el programa quedará preparado
para su compilación y montaje, que realizaremos mediante la orden make.

Ahora ya disponemos del programa sock ejecutable1.
Para acceder a la ayuda, que se integraría en el sistema si se hubiera
realizado la instalación (que sólo puede hacer el usuario root), podemos
teclear man -l sock.1 y se mostrará el detalle del funcionamiento de la
orden sock, sus parámetros y significado, así como el autor del programa.
También podemos acceder a una ayuda breve con la orden ./sock –h,
como se muestra a continuación:
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 básicos

El programa sock ofrece un modo de acceder al interfaz de los
sockets sin tener que programar. El programa conecta la entrada/salida
estándar (teclado/pantalla) con un socket cuyas características se especifican



1 En un sistema sobre el que tuviéramos privilegios de administrador podríamos 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 práctica obtendríamos un mensaje de error
si lo hiciéramos.

Herramientas básicas de red y el protocolo FTP
P2-3
mediante parámetros al ejecutar la orden. Mediante la redirección de la
entrada o la salida se puede enviar el contenido de un archivo o almacenar
en un archivo la información recibida.

Los sockets pueden ser de dos tipos: UDP o TCP, que se corresponden
con un servicio sin conexión, que no garantiza ni la entrega ni el orden de
entrega de la información (UDP) y otro servicio que garantiza la entrega
ordenada y sin errores de la información (TCP).

Además, sabemos que una aplicación puede comenzar iniciando la
comunicación (enviando información) o bien puede esperar pacientemente
hasta que la otra le solicite el inicio de la comunicación (espera petición).

El programa sock nos va a permitir imitar cualquiera de estas
situaciones y alguna otra cosa más. Vamos a ver, mediante una serie de
ejercicios, sus posibilidades.

Puesto que no hemos realizado la instalación completa de la
aplicación (que incluiría su colocación en un directorio presente en la ruta
de búsqueda) nos mantendremos durante toda la práctica 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 página.

Ejercicio 1:
1. En la sesión 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 continuación teclea:
GET / HTTP/1.0



2 Podemos evitar tener que añadir cada vez “./“ delante de la orden sock cambiando la ruta de

búsqueda de los comandos mediante la orden PATH=$PATH:$HOME/sock-1.1



P2-4

Prácticas de Redes de Computadores

Atención: Hay que pulsar la tecla de retorno de carro dos veces después de la
segunda línea. Como resultado de esta acción 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 Politècnica de València</title>
...
</html>
3. El contenido recibido se ha mostrado por la salida estándar, 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 actúa como cliente, lo conectamos al servidor de
web de la UPV y le solicitamos que nos envíe el contenido de su página web
inicial.

La conexión iniciada por el programa sock se realiza al puerto 80 del
servidor www.upv.es y dura sólo lo indispensable hasta que se entrega la
página web solicitada.

Es importante destacar que la respuesta del servidor contiene una
información del protocolo HTTP (o cabecera) a la que sigue, después de una
línea en blanco, el código HTML de la página solicitada. Tras enviar esa
información el servidor cierra la conexión, con lo cual la ejecución de la
orden sock finaliza.

Ejercicio 2:
1. En la sesión de terminal teclea lo siguiente:

2. Debes obtener como resultado algo así:

3. Observa que el programa no finaliza. Para que lo haga tendrás que pulsar las

SSH-1.99-OpenSSH_2.9p1

./sock :22

teclas CTRL+C

Herramientas básicas 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 sólo un puerto (:22) se
entiende que nos referimos al ordenador local.

El servidor SSH comienza enviando una cadena que identifica la

versión 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 información. Este es el comportamiento de muchos
servidores. Utilizando el programa sock vamos a crear un servidor cuya
única función es esperar a que un cliente se conecte y luego conecta la
entrada y salida estándar con ese cliente.



./sock -le :7701

./sock -e :7701

Ejercicio 3:
1. Para crear un socket servidor teclea lo siguiente en la sesión de terminal:

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

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:


equivalentes?

¿Qué sucede? ¿Qué diferencias aprecias respecta al punto 2? ¿Son órdenes

telnet localhost 7701



El parámetro -l hace que la aplicación 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

Prácticas de Redes de Computadores

Ejercicio 4:
1. Teclea lo siguiente:

./sock -l :7701 -d ls

2. Ahora, en la otra sesión 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 conexión 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 envía a través del socket. Una vez finalizada la orden ls el
servidor corta la conexión 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. ¡Compruébalo!

5. El protocolo UDP

Del mismo modo que en los ejemplos anteriores hemos utilizado el
protocolo TCP, ahora vamos a ver cómo podemos enviar información
mediante el protocolo UDP. Para ello mantendremos las dos ventanas de
terminal que tenemos abiertas.

./sock -ul :7701

./sock
  • Links de descarga
http://lwp-l.com/pdf18050

Comentarios de: Práctica 2: Herramientas básicas de red y el protocolo FTP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad