You are on page 1of 12

UNIVERSIDAD POLITCNICA DE VALENCIA

Escuela Politcnica Superior de Gandia

ASIGNATURA

FUNDAMENTOS DE TELEMTICA

Prctica 3 Anlisis del protocolo HTTP con Wireshark

Fundamentos de Telemtica: Prctica 3

Pgina 1

Objetivos de aprendizaje:

Aprender a utilizar el analizador de protocolos Wireshark. Instalar y configurar un servidor Web Apache. Comprender el funcionamiento bsico del protocolo HTTP.

Introduccin:
Una de las mejores formas de entender los protocolos de red es verlos en accin. Para ello puede optar por dos posibilidades. La primera de ellas, pasa por utilizar un entorno simulado, como hemos hecho con Packet Tracer. No obstante, la mejor de las opciones es analizar cmo funcionan en un entorno real. Para esta segunda alternativa usaremos un packet sniffer. Un packet sniffer es un software informtico destinado a detectar y registrar el trfico de datos existente en una red de datos. A medida que el los datos viajan a travs de la red, un sniffer, puede capturar cada unidad de datos del protocolo (PDU), decodificarla y analizar su contenido de acuerdo a la RFC correcta y otras especificaciones. En esta prctica emplearemos el Wireshark. Wireshark es un analizador de protocolos o una aplicacin capturador de paquetes (packet sniffer) ampliamente utilizada para el diagnstico y deteccin de fallos de red, verificacin y para realizar ingeniera inversa de protocolos de red. Es habitual su uso para fines educativos, aunque debido a la cantidad de informacin que puede llegar a capturar, puede ser empleado para robar contraseas, interceptar mensajes de correo electrnico, espiar conversaciones de chat, etc. Wireshark reconoce las cabeceras de los diferentes protocolos de red. Esto le permite mostrar la encapsulacin y los campos individuales de una PDU e interpretar su significado. Puedes obtener ms informacin de esta aplicacin y descargarlo en su pgina web: http://www.wireshark.org

Tarea 1: Instalacin de Wireshark


Importante: Es posible que Wireshark ya est instalado en el ordenador de prcticas. En este caso puedes obviar la tarea 1. No obstante, te recomendamos que lo instales en tu ordenador personal para realizar actividades complementarias y repasar la asignatura. Accede a la intranet de la asignatura y descarga el software de recursos/software. Tambin puedes encontrarlo en el sitio web oficial o en: \\dcomlabsv\Practicas\Fundamentos de Telemtica\Software.

Tarea 2: Un primer contacto con Wireshark


Tras ejecutar Wireshark, la aplicacin pedir que se especifique qu de interfaz de red ser utilizado para capturar el trfico. Para las prcticas de esta asignatura utiliza siempre el que se remarca en la figura siguiente.
Fundamentos de Telemtica: Prctica 3 Pgina 2

Una vez seleccionado comenzar la captura. Vers una informacin similar a la mostrada en la figura siguiente. Pulsa el botn para detener la captura.

Mens y botones Filtro de visualizacin Lista de paquetes capturados

Detalles del paquete seleccionado

Contenido del paquete en hexadecimal y ASCII

El panel de lista de paquetes (o PDUs) muestra un resumen de cada paquete capturado. De izquierda a derecha se indica: nmero de paquete, tiempo en
Fundamentos de Telemtica: Prctica 3 Pgina 3

segundos en el que fue capturado, direccin origen y destino del paquete (normalmente se indica la direccin de red), protocolo del paquete (se indica el protocolo de capa superior) e informacin especfica de este protocolo. Puedes cambiar el orden de la lista pulsando sobre el encabezado de estas columnas. Haciendo clic en los paquetes de este panel, puedes controlar la informacin mostrada en los otros dos paneles. El panel de detalles de paquete (o PDU) ubicado en el medio del diagrama, muestra con detalle el paquete seleccionado en el panel de Lista del paquete. Aparece una lista con varios desplegables. El primero de ellos, llamado Frame seguido de un nmero, muestra. Informacin de la trama capturada, as como el tiempo y longitud de sta. Los siguientes desplegables corresponden a las diferentes capas de encapsulacin. En el ejemplo de la figura 2 se observar, de arriba abajo, que se ha capturado una trama Ethernet II, que dentro contiene un paquete IP (Internet Protocol) y que en su interior hay un segmento TCP (Transmission Control Protocol) que transporta trfico HTTP (Hypertext Transfer Protocol). Puedes abrir cada uno de estos desplegables para ver los diferentes campos de las cabeceras de cada uno de estos protocolos. El panel de contenido de paquete (o PDU) ubicado en la parte inferior, muestra los bytes transmitidos en notacin hexadecimales y ASCII. Si pulsas en un campo del panel detalles de paquete, vers resaltados los bytes correspondientes a esta parte del paquete, que contienen la informacin de este campo. El filtro de visualizacin permite limitar el tipo de paquetes que se muestran en lista de paquetes, en funcin de los criterios especificados. Por ejemplo, si escribes http y a continuacin pulsas Apply se mostrarn solo los paquetes correspondientes a este protocolo. Puedes realizar filtros ms complicados. Por ejemplo: ip.version >= 4 and eth.dst == 00:30:4F:7C:D0:80. Tambin puedes pulsar el botn Expression e investigar las diferentes opciones que podemos aplicar a un filtro.

Paso 1: Anlisis de una primera captura


1. Abre un navegador Web Internet Explorer. 2. Arranca una nueva captura con Wireshark 3. Accede con el navegador a la URL
http://www.dcomg.upv.es/~jtomas/corta.html

4. Para la captura

5. Escribe http en la entrada de filtro y pulsa Apply.

Fundamentos de Telemtica: Prctica 3

Pgina 4

Analizando esta captura, responde a las siguientes preguntas: Cunto tiempo tarda en llegar la respuesta del servidor desde que sale la peticin? _________________ Inspecciona la primera peticin HTTP. Cul es la direccin MAC o direccin Ethernet de tu ordenador? _____________________________ El navegador que has utilizado es capaz de reproducir flash? _______ Qu cabecera HTTP has consultado? ___________________________ Observa que esta cabecera ha sido truncada Cmo puedes ver todo el contenido? ____________________________________________________ Se puede representar msWord? ______

Paso 2: Uso de filtros


1. Pulsa en Wireshark el botn Clear para eliminar el filtro anterior. 2. Arranca una nueva captura con Wireshark 3. Abre el navegador Firefox. 4. Queremos que el navegador realice varias consultas DNS. Para ello, utiliza un buscador, como Google, para localizar una determina informacin, por ejemplo el nombre de un pueblo. Accede a 3 o 4 pginas, asegurndote de que se encuentren en servidores diferentes. 5. Para la captura . .

6. Escribe dns en la entrada de filtro y pulsa Apply. Analizando esta captura responde a las siguientes preguntas: Introduce un nuevo filtro para que slo visualice los paquetes DNS, y que adems, la direccin origen coincida con tu direccin IP. Qu expresin has utilizado? ____________________________________ Sobre qu protocolo se ha apoyado DNS para hacer la consulta? ________ Selecciona un paquete: Qu nmero de puerto se ha utilizado como destino? ____ Y como origen? _____ Es siempre el mismo en todos los paquetes? _____

Fundamentos de Telemtica: Prctica 3

Pgina 5

Tarea 3: Instalacin de un servidor Web


Paso 1: Verifica si existe un servidor Web ya instalado Antes de instalar un servidor Web has de verificar si ya existe uno instalado en tu equipo y en tal caso, desinstalarlo.
1. Abre una ventana de Smbolo del sistema. 2. Introduce el comando netstat a. Este comando muestra un listado de las conexiones de transporte activas. 3. Verifica si hay un servidor escuchando el puerto TCP 80 (http), como se muestra en la siguiente figura:

4. En tal caso procede a desinstalarlo. Si se trata de un servidor Apache, puedes desinstalarlo accediendo a Panel de control / Instalar desinstalar programas.

Paso 2: Descarga e instalacin del software


A continuacin instalaremos el servidor Web Apache 1. Haz doble clic sobre el icono de escritorio Conectar unidades de red . 2. Accede a: P:\dcomlabsv\Practicas\Fundamentos de Telemtica\Software 3. Arrastra el fichero: apache_2.2.9-win32-x86-no_ssl-r2.msi al escritorio 4. Ejecuta este fichero desde el escritorio 5. Tras aceptar el acuerdo de licencia, introduce la siguiente informacin:

Dominio de red: upv.es Nombre del servidor: tu direccin IP Direccin de correo del administrador: tu direccin de correo
6. Selecciona la instalacin tpica y la carpeta de instalacin por defecto 7. Tras concluir la instalacin puedes utilizar el comando netstat a para verificar que hay un servidor escuchando el puerto TCP 80 (http)

Fundamentos de Telemtica: Prctica 3

Pgina 6

8. Abre el navegador Firefox y conctate a la direccin IP de tu equipo. Si el servidor Web est trabajando correctamente, se mostrar una pgina Web similar a la mostrada en la siguiente figura.

9. Introduce ahora la direccin 127.0.0.1, el resultado ha de ser el mismo. Est reservada y se utiliza para indicar la direccin del equipo local. En vez de esta direccin puedes utilizar localhost, que tiene el mismo significado. 10. Borra el fichero copiado al escritorio. Tambin puedes descargarte el software Apache, desde a la intranet de la asignatura, en recursos/software.

Paso 3: Configuracin del servidor Web.


Los datos introducidos durante la instalacin y muchos otros, pueden ser modificados en el archivo de configuracin de Apache. 1. Abre el archivo de configuracin del servidor Web Apache:
C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf\httpd.conf

2. Estudia su contenido A continuacin indicamos algunos de los parmetros ms importantes: Listen 80 Indica que el servidor escucha el puerto 80. Para aceptar conexiones slo de este host, cambia la lnea por Listen 127.0.0.1:80. ServerAdmin admin@upv.es Correo electrnico del administrador del servidor

Fundamentos de Telemtica: Prctica 3

Pgina 7

ServerName 172.16.1.2:80 Nombre del servidor, indicando nombre de dominio y puerto. Si no dispones de un nombre de dominio registrado indica la direccin IP. DocumentRoot "C:/Archivos de programa/Apac/Apache2.2/htdocs" El directorio donde se encuentran los documentos servidos por el servidor. DirectoryIndex index.html Establece el archivo que Apache ofrecer cuando se solicita un directorio sin indicar un archivo concreto. Recuerda que si modificas este fichero, es imprescindible reiniciar Apache para que los cambios tengan efecto.

Paso 4: Modificacin la pgina predeterminada del servidor Web.


La figura anterior muestra la pgina Web predeterminada del archivo index.html. Veamos cmo podemos personalizar esta pgina: 1. Abre la carpeta:
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs

2. Busca el archivo index.html. Haz clic con el botn derecho en el archivo y elije Abrir con. Desde la lista desplegable, elije Bloc de notas. Cambia el contenido del archivo por algo similar al siguiente ejemplo:
<html> <head> <title> Servidor Web de Fundamentos de Telemtica </title> </head> <body> <h1>Bienvenido a mi servidor Web!</h1> <center><bold> Operado por mi nombre </bold></center> Contacte al administrador Web: correo electrnico </body> </html>

3. Guarda el archivo y actualiza el navegador Web (o abre de nuevo la URL http://127.0.0.1). Debe mostrarse la nueva pgina predeterminada.

Fundamentos de Telemtica: Prctica 3

Pgina 8

Tarea 4: Anlisis del trafico HTTP


Wireshark no capturar paquetes enviados desde o hacia la direccin 127.0.0.1, dado que este trfico no llega a salir del ordenador. Para completar esta tarea, debers conectarte al ordenador de un compaero.

Paso 1: Una interaccin bsica HTTP


1. Abre un navegador Web. 2. Arranca una captura con Wireshark. 3. Accede con el navegador a la URL http://dirercin.ip.de.un.compaero 4. Para la captura. 5. Escribe http en la entrada de filtro de Wireshark. 6. Busca el paquete con la solicitud a esta pgina y el de respuesta Estudiando la informacin del la solicitud HTTP y la respuesta correspondiente, contesta las siguientes cuestiones. Indica dnde has localizado la informacin utilizando el siguiente formato (S=solicitud R=respuesta / campo TCP, campo IP, campo Ethernet, cabecera http mtodo http).
Qu versin de HTTP puede utilizar el navegador? __________ (S / mtodo http) Y el servidor? ______________ ( / ) )

Qu nmero de puerto utiliza el navegador? ____________ ( / Cul es la IP de tu ordenador? __________________( / )

Cul el cdigo de respuesta http que devuelve el servidor?_____________ ( / Cuntos bytes ocupa la pgina transferida? ___________ ( / / / ) ) )

Cundo fue modificada por ltima vez? _____________________ (

Qu tipo de servidor Web ha contestado? ______________________ (

Paso 2: Una interaccin condicional HTTP


Muchos navegadores almacenan las ltimas pginas en una cach para evitar tener que cargarlas de nuevo desde el servidor. Veamos cmo funciona este mecanismo. 1. Limpia la cach del navegador: Si utilizas Firefox accede a Herramientas / Opciones / Privacidad / limpiar su historial reciente. Si utilizas Internet Explorer accede a Herramientas / Opciones de Internet / General / Eliminar

Fundamentos de Telemtica: Prctica 3

Pgina 9

2. Arranca la captura con Wireshark

3. Accede con el navegador a la misma URL del paso anterior. 4. Recarga la pgina 5. Para la captura . .

Analizando esta captura, vers que hay dos solicitudes y dos respuestas. Responde a las siguientes preguntas: Inspecciona la primera solicitud HTTP. Encuentras una lnea donde pone Ifmodified-since? Por qu? ______________________________________________________________ Ante esta peticin, el servidor enva la pgina solicitada? ____________ Inspecciona la segunda solicitud HTTP. Encuentras una lnea donde pone Ifmodified-since? Por qu? ______________________________________________________________ Qu informacin se aade a esta cabecera? ________________________ Ante esta peticin, el servidor enva la pgina solicitada? ____________

Paso 3: Solicitud de un documento extenso


En los ejemplos anteriores, se solicitaba un documento HTML pequeo. Veamos que pasa con un documento de mayor peso. 1. Limpia la cach del navegador. 2. Arranca la captura con Wireshark. 3. Accede con el navegador a la URL: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html 4. Para la captura. 5. Escribe http en la entrada de filtro de Wireshark. El resultado ha de ser similar al mostrado en el siguiente grfico. Observa como en la lista PDUs, aparece una solicitud HTTP de la pgina html, seguida de una PDU con la respuesta. Recuerda que Internet es una red de conmutacin de paquete por lo que resulta imposible enviar en una sola vez, una cantidad de informacin demasiado grande. Para resolver el problema la pgina solicitada es fragmentada en segmentos de
Fundamentos de Telemtica: Prctica 3 Pgina 10

menor longitud que son enviados por separado. Este trabajo lo realizar el protocolo TCP.

Para simplificarnos el estudio del protocolo HTTP, analiza los diferentes segmentos en los que ha sido enviada la pgina, los reensambla y nos los muestra en una nica PDU. En la figura anterior se resalta este proceso. Fjate en la lnea con nombre Reassembled TCP Segmets nos indica el total de bytes reensamblados y cada una de las PDUs que a unido indicando el nmero de PDU y los bytes que aporta. La ltima mostrada es este ejemplo es la nmero 33, que coincide con la PDU que se est visualizando. Esta PDU solo aporta los ltimos 360 bytes de la respuesta. Observa las dos lengetas de la parte inferior, la de la izquierda te permite ver la verdadera PDU con los 360 bytes aportados, la de la derecha la PDU ficticia una vez reensamblados los trozos. 6. Escribe http or tcp en la entrada de filtro de Wireshark y pulsa Apply. 7. Localiza cada una de las PDUs que contiene un segmento de la respuesta. Mira la respuesta HTTP, en una cabecera Cuntos bytes tiene la pgina?____ Cuntos segmentos TCP han sido necesarios para transmitir esta pgina? ___ Cul es el tamao mximo de segmento en que ha sido troceada? ______ Encuentras alguna informacin en el protocolo HTTP que indique que se est fragmentado la pgina? ______ Por qu?

Fundamentos de Telemtica: Prctica 3

Pgina 11

Paso 4: Solicitud de un documento con objetos incrustados


Muchas pginas Web incluyen imgines, msica, animaciones en flash, etc Cada uno de estos objetos son solicitados al servidor en transacciones HTTP independientes. Pero tambin es posible que los diferentes objetos de una pgina web se encuentren en servidores diferentes. Sigue los siguientes pasos: 1. Limpia la cach del navegador. 2. Arranca la captura con Wireshark. 3. Accede con el navegador a la URL anterior. http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html 4. Para la captura. 5. En el men del navegador selecciona Ver / Cdigo fuente de la pgina y estudia el cdigo html. Busca en concreto la etiqueta <IMG > que permite incrustar imgenes en la pgina. 6. Escribe http en la entrada de filtro de Wireshark. Analizando esta captura contesta las siguientes preguntas: Cuntas solicitudes HTTP ha mandado el navegador? ______________ Donde estn almacenadas las imgenes? ___________________ Podras decir si las imgenes son descargadas secuencialmente (una detrs de otra) o en paralelo (las dos a la vez)? ______________________

Tarea 5: Modificacin del puerto del servidor Web


Por defecto un servidor Web escucha en el puerto TCP 80, aunque esto no tiene por qu ser siempre as. 1. Modifica el archivo de configuracin del servidor Web httpd.conf y cambia: Listen 80 por Listen 8080

ServerName x.x.x.x:80 por ServerName x.x.x.x:8080 2. Abre un navegador Web y accede al URL http://127.0.0.1:8080. 3. Con el comando netstat -a, verifica que el nuevo puerto TCP del servidor Web.
4. Realiza una nueva captura con Wireshark, accediendo al servidor de un

compaero con este nuevo puerto.

Fundamentos de Telemtica: Prctica 3

Pgina 12

You might also like