Cliente HTTP : Usando Telnet

Anuncio
Cliente HTTP : Usando Telnet
Objetivos

Comprender el funcionamiento del protocolo HTTP a través de la construcción
manual de mensajes

Entender el uso de los encabezados para especificar información adicional de un
mensaje HTTP
Introducción
En este laboratorio vamos a establecer una conexión a un servidor HTTP utilizando un
cliente de Telnet que nos permite enviar mensajes de texto. En el laboratorio nos
conectaremos a un servidor web, crearemos manualmente los mensajes del protocolo y
observaremos las respuestas que se generan.
Preparar el cliente
Antes de empezar debemos descargar un programa cliente de Telnet (o de conexiones
“Raw” sockets) que nos permita conectarnos al servidor web y crear los mensajes
manualmente.
En Unix o Mac
En un computador con Unix, Linux o Mac, no es necesario
descargar ninguna aplicación adicional. El sistema incluye un
cliente de telnet que nos sirve para hacer la conexión. Para
ejecutar el cliente es necesario abrir una ventana de línea de
comandos y ejecutar “telnet”
$ telnet <servidor> <puerto>
En Windows
En un computador con Windows, si se tienen permisos de
administrador, es posible instalar el cliente Telnet de Microsoft.
Para instalar el software en Windows 7 o superior, debes ejecutar
los siguientes pasos:
1. Entre al menú inicio
2. Después haga click en panel de control
3. Enseguida haga click en programas:
i.
Ingrese a la opción Activar o desactivar las
características de Windows, bajo Programas y
características.
ii.
Busque Cliente Telnet y asegúrese de marcarlo. Haga
click en ok para instalarlo.
4. Para probar que ya puede usar el cliente Telnet, ingrese a la
línea de comandos de Windows y escriba “telnet /?”. Debe
ver las opciones de ayuda para el cliente.
Para ejecutar el cliente, se debe ejecutar el cliente en línea de
comandos
C:\> telnet <servidor> <puerto>
En Windows
En un computador con Windows, sin permisos de administrador, es
posible usar algún software cliente. Por ejemplo, es posible usar
PuTTY, un cliente que permite hacer conexiones SSH, Raw
Sockets y Telnet entre otros.
Para instalar el software, solo debes descargar el archivo
ejecutable del sitio web:
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Para ejecutar el software, es necesario ejecutar el comando “putty”.
El software muestra una ventana en donde es posible establecer
los parámetros de conexión.
Conectarse a un servidor
Para conectarse a un servidor utilizando telnet debe pasar como parametro la dirección
y el puerto de conexión como se muestra a continuación
telnet <dirección ip o dominio> <puerto>
Por ejemplo, para conectarse al servidor google.com por el pueto 80 el comando sería el
siguiente
telnet google.com 80
Una vez se establezca la conexión con el servidor aparecerá como respuesta en la
consola:
Trying to connect to :ip
Connected to :ip o dominio
Escape character is ‘^]’.
A partir del momento en que se establece una conexión con el servidor se pueden
enviar y recibir mensajes. En nuestro caso particular nos comunicaremos con el
servidor utilizando el protocolo HTTP.
NOTA: Tenga en cuenta que cada salto de línea que haga en la consola enviará los
caracteres CRLF automáticamente al servidor.
Ejercicios
Utilizando el cliente Telnet realice las siguientes peticiones:
1. Búsqueda en google
Servidor:
Puerto:
Petición:
google.com
80
GET /search?q=http
HTTP/1.1
2. Búsqueda en youtube
Servidor:
Puerto:
Petición:
youtube.com
80
GET /search?q=telnet
HTTP/1.1
3. Ingreso a un recurso de la universidad de Los Andes
Servidor:
Puerto:
Petición:
uniandes.edu.co
80
GET /institucional/programas/programas HTTP/1.1
Host: uniandes.edu.co
4. Uso de una petición sencilla
Servidor:
Puerto:
Petición:
google.com
80
GET /search?q=Java HTTP/1.1
Connection: Close
5. Uso de peticiones “keep-alive”
Servidor:
Puerto:
Petición:
google.com
80
GET /search?q=Java HTTP/1.1
Connection: Keep-Alive
GET /search?q=JavaScript HTTP/1.1
GET /search?q=AngularJS HTTP/1.1
6. Uso de otros comandos de HTTP
Servidor:
Puerto:
Petición:
google.com
80
HEAD /search?q=Java HTTP/1.1
Preguntas:
1. ¿Que pasa si cambia la versión del protocolo a HTTP/1.0?
2. ¿Por qué para hacer la petición a la Universidad de los Andes necesitamos poner
el Host en el encabezado?
3. ¿Que pasa si no ponemos Host en el encabezado de la petición a la Universidad
de Los Andes?
Bibliografía
1. Microsoft. How to Request a Web Page through a Telnet Client.
https://support.microsoft.com/en-us/kb/279466
2. Microsoft. How Telnet Works. https://technet.microsoft.com/enus/library/cc778139(v=ws.10).aspx
Descargar