Aplicaciones del nivel de Aplicación

Anuncio
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
APLICACIONES de PROTOCOLOS
del NIVEL de APLICACION
OBJETIVOS:
•
•
•
Familiarizar al alumno con aplicaciones básicas montadas sobre protocolos del
nivel de aplicación que se apoyan sobre TCP/IP.
o Aplicaciones: telnet, ftp, mail.
Entender los protocolos que corren por debajo de tales aplicaciones. (En el caso de
telnet, se usará para investigar el protocolo http y el smtp).
Familiarizar al alumno con los protocolos de nivel de aplicación de un sistema
operativo Unix como es Linux.
NOTAS IMPORTANTES:
•
•
•
•
•
Para la realización de la práctica deberá ingresar con el login: <alumno_nro_maq.>, por ejemplo
<alumno62>. Luego seleccionar el ícono <común>, luego <Archivo>, <Abrir terminal>.
Iniciamos de esta manera una sesión en Linux.
Para realizar la presente práctica deberá crear directorios y archivos cuando se especifique. Se
supone que esta familiarizado con los comandos básicos de Linux para el manejo de archivos y
directorios (mkdir, cd, ls, pwd, cat,....).
Lea atentamente el enunciado de las practicas (algunas dudas pueden resolverse tras una lectura
correcta), realice los pasos sugeridos, intente razonar sobre el resultado y complete el cuestionario
al final de cada ejercicio.
Al finalizar la práctica, los alumnos deberán entregar el cuestionario completo.
Si tiene algún problema que persista a pesar de los intentos por solucionarlo: consulte a los
ayudantes de laboratorio siempre que estén libres.
77
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
1. TELNET
Telnet es una aplicación que permite la emulación de varios tipos de terminal, por lo cual se puede
acceder a diferentes tipos de computadoras. Un usuario conectado a un host de una red, se puede conectar
a cualquier otro host, utilizando la aplicación telnet.
Telnet se usa como herramienta para la creación de aplicaciones cliente/servidor. De hecho, telnet es el
soporte de las interacciones cliente/servidor en la transferencia de archivos, correo electrónico y la World
Wide Web.
La utilización de un cliente telnet es muy sencilla, basta con teclear:
> telnet nombre_máquina
A continuación se informa que se está realizando la conexión y se solicita un nombre de usuario
(login) y una palabra clave (passwd)
Opciones de la aplicación telnet:
telnet [-d] [-a] [-n tracefile] [-e escapechar] [[-l user]
host [port]]
Los argumentos que merecen destacarse son los siguientes:
•
•
•
Debe ir acompañado del nombre de la máquina (host)
Si se añade -l <nombre de usuario> la aplicación entra en el servidor con
el usuario especificado.
Después de la máquina se puede especificar el puerto (port) sobre el cual dialogar.
También se puede colocar el protocolo, ya que telnet consultará el archivo
/etc/services para averiguar el puerto al cual conectarse.
Esta ultima opción de añadir el número de puerto, nos puede ser útil para acceder a los protocolos
que corren sobre cada puerto de la máquina.
Se sale de la sesión de telnet con <exit> o con <ctrl.-d>.
Los servidores que atienden a los protocolos que corren en cada puerto se pueden ver en el archivo
/etc/services:
Protocolos interesantes para la realización de esta práctica serán:
ftp
smtp
tftp
pop-3
www
www
imap3
imap3
21/tcp
25/tcp
69/udp
110/udp
80/tcp
80/udp
220/tcp
220/udp
mail
http
# WorldWideWeb HTTP
# HyperTextTransferProt.imap3
# Interactive Mail Access
# Protocol v3
78
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
Que debe interpretarse como:
<Protocolo> <Puerto>/<Protocolo Red/Transporte que utiliza> <alias> #Comentario
Ejercicio 1.1) Uso sencillo de la aplicación telnet
•
Conéctese con la máquina <hypercube> utilizando telnet. Ej: $ telnet
hypercube. A continuación le pedirá un nombre de usuario (redes) y una
contraseña (redesrin).
Cuestionario 1.1:
•
•
•
¿En qué directorio le deja telnet? ¿Por qué?
¿Qué usuarios están conectados a esa máquina? (Comando who)
¿Investigue por qué algunos servidores utilizan el protocolo TCP y/o el UDP? ¿A
qué se debe esto?. Para ello, utilizar $ cat /etc/services
•
Desconectarse de la máquina <hypercube> utilizando exit.
Ejercicio 1.2) Intente conectarse nuevamente, pero especificando el nombre de usuario con
la opción –l. Ej: $ telnet –l redes hypercube.
Cuestionario 1.2:
!"¿Qué diferencia presenta con respecto a la conexión anterior del ejercicio 1.1.?
•
Desconectarse de la máquina <hypercube> utilizando exit.
Ejercicio 1.3) Visualización del protocolo http desde el programa telnet
El protocolo http utiliza los siguientes comandos:
Comando Descripción
GET
Solicita leer una pagina Web
HEAD
Solicita leer la cabecera de una pagina
Web
PUT
Solicita almacenar una pagina Web
POST
Añade a un recurso (ej. una pagina Web)
DELETE Borra la pagina Web
LINK
Conecta a dos recursos existentes
UNLINK
Rompe una conexión existente entre dos
recursos
79
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
•
Conéctese a la máquina hypercube utilizando telnet sobre el puerto 80 (de
http)
$ telnet hypercube 80 >& paginaprincipal.html
•
Una vez conectado, consulte la página (comando GET).
GET / HTTP/1.0
Lo que sigue al GET es "/" una indicación de que queremos consultar la página
principal del Web.
Y después, aparece la versión del protocolo HTTP que el navegador quiera utilizar.
Nosotros nos vamos a conformar con el 1.0.
El resultado no lo verá, porque lo estamos redireccionando a la salida estándar.
Pero, después de salir de telnet, podrá consultar el archivo
paginaprincipal.html utilizando un editor de texto. (Se puede visualizar utilizando
$ cat paginaprincipal.html desde el intérprete de comandos.
•
•
•
•
Salga de telnet
<exit>
Edite el archivo paginaprincipal.html
Compárelo con lo que se consigue invocando la página con el navegador (Puede
utilizar el netscape). Recuerde que el URL de la página es
http://hypercube.frc.utn.edu.ar/
Abra otro navegador por ejemplo lynx hypercube.frc.utn.edu.ar. Es un
navegador al estilo de Netscape pero a nivel texto únicamente.
Compare los dos navegadores que tiene abiertos. ¿Qué diferencia presentan?
Cuestionario 1.3:
•
•
•
¿Existe alguna diferencia entre utilizar el navegador accediendo a la página vía el
protocolo http y hacerlo accediendo al archivo que hemos salvado?
telnet
¿Qué
pasos
daría
para
consultar
con
la
página
de
duotronic.frc.utn.edu.ar? (Pruébelo y grabe la página en el archivo
pag_duotronic.html,.
Pruebe conseguir la cabecera (comando HEAD). Su sintaxis es similar a la del
comando GET. Después debe añadir accept: */* en la línea siguiente. ¿Qué
obtiene? (Puede verlo utilizando el navegador).
80
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
2. FTP (File Transfer Protocol)
Aplicación ftp
ftp [-v] [-d] [-i] [-n] [-g] [host]
Esta aplicación abre una conexión sobre el protocolo de su mismo nombre. FTP soporta un
número limitado de tipos de archivos (ASCII, binary) y estructuras de archivos (byte stream,
record oriented). El cliente ftp debe conectarse a un servidor de ftp de la siguiente forma:
ftp <nombre del servidor>
Donde el <nombre del servidor> puede ser el nombre de la máquina o su dirección IP.
Una vez establecida la conexión, se pueden utilizar distintos comandos, muy parecidos a los de
Unix, con ligeras variantes atendiendo a si los referimos o no a la máquina remota (si nos
referimos a la máquina local, normalmente se comienzan con el prefijo l o se escapan con !).
También podemos hacer referencia a si el comando es múltiple (se prefijan con la letra m). Un
sumario de los comandos más utilizados es la siguiente tabla:
Comando
Descripción
open
pwd
Abre una conexion ftp en una máquina (cerrando la existente)
cd
Cambio de directorio en la máquina remota
lcd
Cambio de directorio en la máquina local
put
Transfiere un archivo de la máquina local a la remota
get
Transfiere un archivo de la máquina remota a la máquina local
mput
Transfiere múltiples archivos de la máquina local a la remota. Permite
utilizar caracteres auxiliares como *, para hacer referencia a 0 más
caracteres (como en unix)
mget
Transfiere múltiples archivos de la máquina remota a la local. Permite
utilizar caracteres auxiliares como *, para hacer referencia a 0 más
caracteres (como en unix)
!
Escapa a la shell local
bin
Indica que las transferencias se harán en modo binario (para archivos
ejecutables o binarios en general)
ascii
Indica que las transferencias se harán en modo ascii (para archivos de
texto)
pass
Para introducir el password en la máquina remota
user
Especifica el nombre del usuario en la máquina remota
help
Lista los comandos ftp
El directorio de trabajo en la máquina remota
81
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
quit
Abandona una sesión ftp
Ejercicio 2.1) Uso sencillo de la aplicación ftp (intentaremos transferir un archivo
denominado <nombres_nro_maquina> desde el directorio ftp_orig de nuestra máquina
local a la máquina remota. Luego de la máquina remota transferiremos dicho archivo a la
máquina
local,
pero
en
el
directorio
ftp_dest)
!"En el directorio correspondiente a esta práctica, cree un directorio vacío llamado
ftp_orig edite un archivo llamado nombres_<nro. de la máquina> (ej.
nombres_62, nombres_63,...), que contenga sus nombres (nombre y apellidos) en dos
filas (una por cada uno) y guárdelo en este directorio.
!"Cree un directorio vacío en su home llamado ftp_dest
!"Conéctese a la máquina hypercube utilizando ftp.
!"Tome el archivo creado y transfiéralo a la máquina remota..
!"Compruebe con los comandos de ftp que está el archivo presente (en la máquina remota).
!"Cambie su directorio de trabajo en la máquina local, ubicándose en el directorio ftp_dest.
Transfiera ahora desde la máquina remota, el archivo nombres_nro_máquina al directorio
ftp_dest de la máquina local.
!"Compruebe que la transferencia se realizó correctamente.
!"Salga de la sesión de ftp.
Cuestionario 2.1:
•
•
•
¿En qué directorio le deja ftp? ¿Por qué?
¿Qué comandos de ftp fueron necesarios para realizar los pasos de este ejercicio?
¿Existe alguna forma de comprobar en la máquina remota si está presente el archivo? ¿Y
desde la máquina local? (Utilice comandos de ftp)
• ¿Qué operación realiza el comando “!”?
• ¿Cómo obtengo ayuda?
• ¿En qué puerto actúa el protocolo FTP? Rta.: visualizar el archivo /etc/services
Ejercicio 2.2) Visualización del protocolo ftp desde el programa telnet
El protocolo ftp utiliza los siguientes comandos:
Comando protocolo
ABORT
Descripción
LIST filelist
Lista archivos o directorios
PASS password
Password en el servidor remoto
QUIT
Sale del servidor remoto
RETR filename
Pide (retrieve) un archivo
Aborta un comando FTP previo y cualquier transferencia de datos o directorios
82
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
LINK
Conecta a dos recursos existentes
UNLINK
Rompe una conexión existente entre dos recursos
Ejecutando ftp -d <máquina remota>, se nos trazan los comandos del protocolo
que corresponden a los comandos del usuario (opción debuger).
•
Cambiarse al directorio ftp_orig. En él genere varios archivos vacíos denominados
ar1.txt, ar2.txt y ar3.txt .
•
Dé los pasos que realizó en la práctica anterior, con el comando ftp -d <máquina
remota>, intentando dejar todos los archivos en la máquina remota
Cuestionario 2.2:
•
•
•
¿Qué comandos del protocolo han generado los comandos de usuario?
¿Qué tendría que hacer para reproducirlo con la aplicación telnet?
¿Qué pasos tendría que dar si el archivo fuese un archivo ejecutable?
3. MAIL
Aplicacion mail
mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] toaddr...
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
Esta aplicación, en realidad, es un mail user agent, o MUA, que hace de interfaz sencilla entre el usuario
y otro agente para enviar el mensaje, llamado mail transport agent, o MTA. Comúnmente se envían los
mensajes utilizando TCP/IP a través del protocolo Simple Message Transfer Protocol
(SMTP), que normalmente se conecta con la máquina receptora directamente, negociando el mensaje a
transferir con el demonio de SMTP de la parte remota.
•
Para enviar un mensaje se suele utilizar la aplicación mail de la siguiente forma:
mail <dirección de correo>
Subject: <Tema>
<Mensaje> <Enter>
. <Enter>
cc: <direcciones a enviar copia>
(La parte no negrita es generada por el programa, mientras que la parte negrita es lo que hay que
teclear)
83
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
Si se quiere abortar un mensaje se pulsará <Ctrl-C>
•
Para consultar el buzón de correo, hay que invocar mail sin parámetros.
Un sumario de los comandos de usuario que se pueden utilizar en este modo aparece a continuación
(donde % indica el número de un mensaje (el anterior modo se puede conseguir con algunos de estos
comandos).
Comando
h
Parámetro
%
Descripción
Muestra las cabeceras (headers) en la pantalla
Muestra la cabecera actual sólo
c
Escribe mensaje(s) en la pantalla
t
%
s
<dirección>
f
%
Reenvía (forward) un mensaje
a
%
Responde mensaje(s)
d
%
Borra mensaje(s)
u
%
Deshace el borrado de mensaje(s)
m
%
Mueve mensaje(s) a otro buzón
k
%
Guarda (keep) menaje(s) después de salir
r
<buzón>
Envía un mensaje
Lee (read) un nuevo buzón
n
Va al próximo (next) mensaje y lo muestra
b
Realiza un backup al mensaje anterior y lo muestra
g
%
Va a un mensaje específico, pero no lo muestra
Sale del sistema de correo y actualiza el buzón
e
w
% <fichero>
Escribe el mensaje en el fichero especificado
Ejercicio 3.1) Uso sencillo de la aplicación mail
Recordamos que las cuentas de los alumnos tienen el siguiente formato:
alumno_nro_maquina, donde nro_maquina es el nro. de máquina con la cual
están trabajando.
•
•
Enviarse a sí mismo un mail con Subject: Ejercicio 3.1 y con el siguiente
mensaje:
Este es un mensaje que tiene la finalidad de probar el
programa de correo electrónico.
Envíe este mismo mensaje 3 veces con los Subjects: Ejercicio 3.1.1,
Ejercicio 3.1.2, Ejercicio 3.1.3.
84
Universidad Tecnológica Nacional – F.R.C
Redes de Información (RIN)
•
•
•
•
•
Acceda con mail a su buzón.
Borre el mensaje Ejercicio 3.1.2.
Consulte el contenido del buzón. Y guarde los mensajes en su directorio de
conexión correspondiente a la práctica y dentro de los archivos que se llamen
Ej3.1.txt, Ej3.1.1.txt y Ej3.1.3.txt.
Borre todos los mensajes, menos el primero.
Salga del programa mail.
Cuestionario 3.1:
•
•
¿Dónde deja el programa mail el buzón? ¿Por qué?
¿Qué comandos de usuario de mail ha necesitado para realizar los pasos de este
ejercicio?
Ejercicio 3.2) Visualizacion del protocolo smtp usando telnet
Los comandos más significativos del protocolo smtp son los siguientes:
Comando
Parámetro
Descripción
MAIL FROM:
<sender>
Indica que queremos enviar un correo (especificar
nuestra dirección de mail completa: con @)
RCPT TO:
<recipient>
Indica el destinatario de nuestro mensaje (especificar la
dirección de mail completa: con @)
DATA
<el mensaje>
Mensaje que queremos enviar, terminado en una línea
que sólo contenga un punto.
QUIT
<dirección>
Salir de la conexión smtp
Salvo la cabecera, todo se puede hacer utilizando estos comandos.
Puesto que el puerto especificado para el smtp es el 25. Se puede acceder vía telnet de la siguiente
forma:
telnet bbs 25
A continuación se puede proseguir con los comandos que se han señalado en la tabla.
Realizar los siguientes pasos:
•
•
•
Intente enviar un mensaje a algún compañero de la clase. Solicitar al docente una dirección de
correo, si no obtiene ninguna, enviarle un mensaje a csanchez@bbs.frc.utn.edu.ar .
Intente enviarse un mensaje a sí mismo. Compruebe lo que ha recibido con el programa mail.
Cuestionario 3.2:
¿Qué comandos del protocolo smtp ha necesitado para este Ejercicio 3.2 ? Explique.
85
Descargar