You are on page 1of 6

INFORME 1, REDES DE COMPUTADORAS II

Prctica #1: Servidor Web (HTTP).


Pal Esteban Vintimilla Tapia.
Ricardo Manuel Prieto Galarza.
Universidad Politcnica Salesiana Sede Cuenca

ResumenEn el siguiente documento se desarrollar el informe de las actividades realizadas en la Prctica #1 de la materia
de Redes de Computadoras II. Se especificarn las actividades
desarrolladas para poder cumplir los objetivos planteados, a ms
del anlisis de los resultados obtenidos. Para el desarrollo de esta
prctica se deben instalar varios programas, instalaciones que se
detallarn tambin para que el presente documento pueda servir
como una gua acadmica en un futuro.
Index TermsAnlisis de trfico, Apache, red LAN, servidor
web, ubuntu, wireshark.

I.
I-A.

O BJETIVOS

Objetivo General

Realizar el anlisis del trfico de datos cuando se acceda


desde un host cliente a un host servidor creado en Apache.

I-B.

Objetivos Especficos
Instalar el servidor Apache en una mquina virtual de
Ubuntu, mediante VirtualBox.
Crear una red LAN y configurar las direcciones IP del
cliente, de la mquina anfitrin y del servidor.
Crear una pgina web utilizando HTML y colocarla en
el servidor Apache.
Realizar el nalisis del trfico de datos cuando se accede
al servidor Apache por medio de wireshark.

II.
II-A.

F UNDAMENTO TERICO

Servidor Web

Un servidor, como la misma palabra indica, es un ordenador o cualquier dispositivo que est al servicio de otras
mquinas, ordenadores o personas llamadas clientes y que les
suministra a estos, todo tipo de informacin. En la Figura 1.,
se puede observar el esquema cliente-servidor, en el cul se
basa gran parte de internet.[1][3]
Pal Esteban Vintimilla Tapia, Estudiante de la carrera de Ingeniera
Electrnica y Telecomunicaciones de la Universidad Politcnica Salesiana
Sede Cuenca, e-mail: pvintimillat@est.ups.edu.ec.
Ricardo Manuel Prieto Galarza, Estudiante de la carrera de Ingeniera
Electrnica y Telecomunicaciones de la Universidad Politcnica Salesiana
Sede Cuenca, e-mail: rprieto@est.ups.edu.ec.

Figura 1. Esquema cliente-servidor.[1]

Por regla general, los servidores suelen ser algo ms potentes que un ordenador normal. Sobre todo suelen tener ms
capacidad tanto de almacenamiento de informacin como de
memoria principal, ya que tienen que dar servicio a muchos
clientes. Pero como todo, tambin depende de las necesidades,
ya que podemos tener un servidor de menores prestaciones si
vamos a tener pocos clientes conectados, o si los servicios
que queramos en el servidor no requieren una gran capacidad
servidora. [1]

II-B.

Tipos de servidores

II-B1. Servidor de correo: Es el servidor que almacena,


enva, recibe y realiza todas las operaciones relacionadas con
el e-mail de sus clientes.[1]
II-B2. Servidor proxy: Es el servidor que acta de intermediario de forma que el servidor que recibe una peticin no
conoce quin es el cliente que verdaderamente est detrs de
esa peticin.[1]
II-B3. Servidor web: Almacena principalmente documentos HTML (son documentos a modo de archivos con un
formato especial para la visualizacin de pginas web en
los navegadores de los clientes), imgenes, videos, texto,
presentaciones, y en general todo tipo de informacin. Adems
se encarga de enviar estas informaciones a los clientes.[1]
II-B4. Servidor de base de datos: Da servicios de almacenamiento y gestin de bases de datos a sus clientes. Una base
de datos es un sistema que nos permite almacenar grandes
cantidades de informacin. Por ejemplo, todos los datos de
los clientes de un banco y sus movimientos en las cuentas.[1]

INFORME 1, REDES DE COMPUTADORAS II

II-B5. Servidores clster: Son servidores especializados


en el almacenamiento de la informacin teniendo grandes capacidades de almacenamiento y permitiendo evitar la prdida
de la informacin por problemas en otros servidores.[1]
II-B6. Servidores dedicados: Como ya expresamos anteriormente, hay servidores compartidos si hay varias personas
o empresas usando un mismo servidor, o dedicados que son
exclusivos para una sola persona o empresa.[1]
II-B7. Servidores de imgen: Recientemente tambin se
han popularizado servidores especializados en imgenes, permitiendo alojar gran cantidad de imgenes sin consumir recursos de nuestro servidor web en almacenamiento o para
almacenar fotografas personales, profesionales, etc.[1]

sencillas operaciones solicitud/respuesta. Un cliente establece


una conexin con un servidor y enva un mensaje con los
datos de la solicitud. El servidor responde con un mensaje
similar, que contiene el estado de la operacin y su posible
resultado. Todas las operaciones pueden adjuntar un objeto
o recurso sobre el que actan; cada objeto Web (documento
HTML, fichero multimedia o aplicacin CGI) es conocido por
su URL.[5]
HTTP fue creado para que las computadoras se comuniquen
mientras intercambian documentos, agregando conectividad
e interfaces. Usando HTTP, una computadora que pida un
archivo a otra sabr, al recibirlo, si se trata de imagen, video
o texto.[5]

II-C.

II-E.

Servidor web apache

Un servidor HTTP es el programa que atiende las peticiones


de los clientes Web y proporciona las pginas solicitadas.
Utiliza de forma general el puerto 80 TCP para atender las
peticiones de los clientes, aunque tambin puede atender peticiones a travs del puerto 443 TCP utilizado para conexiones
seguras.
Apache es un servidor HTTP de cdigo libre, que funciona
en GNU/Linux, Windows y otras plataformas. Ha desempeado un papel muy importante en el crecimiento de la red
mundial, y continua siendo el servidor HTTP ms utilizado.
Apache es desarrollado y mantenido por una comunidad
de desarrolladores auspiciada por Apache Software Foundation.[2][3]
Dispone de multitud de mdulos que convierten a Apache en
un servidor capaz de gestionar todo tipo de aplicaciones, lo que
tambin le convierte en el servidor de aplicaciones ms popular
de la actualidad; por ejemplo dispone de mdulos para:
Implementar SSL. Protocolo de seguridad en la transferencia de informacin.[4]
Enlace con el servidor Tomcat de aplicaciones, para
implementar aplicaciones Java de servidor.[4]
Mdulo para Perl.[4]
Mdulo para PHP.[4]
Mdulo para Python.[4]
II-D.

Lenguaje HTML

HTML significa HyperText Markup Language. Es el lenguaje en que se escriben los millones de documentos que hoy
existen en el World Wide Web. Cuando accedemos a uno de
estos documentos, el cliente los interpreta y los muestra. Los
documentos HTML son ficheros de texto plano que pueden
ser editados con cualquier editor de texto. El nombre de los
ficheros escritos en lenguaje HTML suelen tener la extensin
html o htm.[6]
El lenguaje HTML se basa en la sintaxis SGML, Standard
Generalized Markup Language. Esto quiere decir que los
diferentes elementos de un documento para la WWW se
sealan intercalando etiquetas que indican al navegador cmo
debe mostrarlo.[6]
Una etiqueta HTML consiste en un signo menor "<", un
nombre de una directiva, orden o comando para el navegador,
seguido de los parmetros o atributos y un signo mayor ">".
Para cualquier etiqueta que indica un el inicio de un elemento
hay otra de cierre que indica que esa directiva ya no debe
actuar sobre el texto que sigue.[6]
HTML no es sensible a maysculas y minsculas. Para
HTML es equivalente <HTML> y <html>, con algunas excepciones. Aunque es recomendable escribir los nombres de
las etiquetas en minsculas ya que las nuevas generaciones del
HTML estn basadas en SGML que requiere de documentos
bien formados.[6]

Protocolo HTTP

El Protocolo de Transferencia de HiperTexto (HyperText


Transfer Protocol) es un sencillo protocolo cliente-servidor
que articula los intercambios de informacin entre los clientes
Web y los servidores HTTP. La especificacin completa del
protocolo HTTP 1/0 est recogida en el RFC 1945. Fue
propuesto por Tim Berners-Lee, atendiendo a las necesidades
de un sistema global de distribucin de informacin como
el World Wide Web. Desde el punto de vista de las comunicaciones, est soportado sobre los servicios de conexin
TCP/IP, y funciona de la misma forma que el resto de los
servicios comunes de los entornos UNIX: un proceso servidor
escucha en un puerto de comunicaciones TCP (por defecto,
el 80), y espera las solicitudes de conexin de los clientes
web. Una vez que se establece la conexin, el protocolo
TCP se encarga de mantener la comunicacin y garantizar
un intercambio de datos libre de errores. HTTP se basa en

II-F.

Wireshark

Wireshark es una herramienta multiplataforma utilizada para


realizar anlisis sobre paquetes de red. La utilizacin de esta
herramienta puede parecer de gran complejidad en un principio, pero es de gran utilidad una vez conocida su interfaz y su
forma de operar. Existen diferentes usos para los cuales puede
aplicarse Wireshark. Dentro del anlisis dinmico de cdigos
maliciosos se la utiliza para detectar conexiones ocultas del
propio malware con direcciones remotas para obtener otros
archivos, para reportarse a un panel de control en caso de una
botnet, entre otras variantes.[7]
III.

E QUIPOS Y / O HERRAMIENTAS UTILIZADAS

Mquina virtual con Ubuntu (VirtualBox)


Web Server Apache instalado en Ubuntu.

INFORME 1, REDES DE COMPUTADORAS II

Wireshark
Computador servidor.
Computador cliente.
IV.

D ESARROLLO / PROCEDIMIENTOS

Debido a que el computador usado como servidor tiene


sistema operativo windows 8, para cumplir con los objetivos
de la prctica se debieron realizar los siguientes pasos:
1. Instalar la mquina virtual VirtualBox.
2. Instalar el sistema operativo Ubuntu en la mquina
virtual.
3. Instalar el servidor web Apache en Ubuntu.
4. Configurar las direcciones IP del cliente, de la mquina
anfitrin y del servidor Apache.
5. Editar el cdigo HTML de la pgina web que tiene por
defecto el servidor Apache.
6. Acceder al servidor Apache y realizar el anlisis del
trfico de datos mediante wireshark.

IV-A.

Instalacin de VirtualBox (VB)

Se deben seguir los siguientes pasos para instalar la mquina


virtual Virtual Box:
1. Descargar el instalador de VirtualBox de la pgina del
autor. https://www.virtualbox.org/wiki/Downloads
2. Ejecutar el instalador de VirutalBox que se descarg.
Una vez concluida la instalacin se observar una pantalla como la mostrada en la Figura 2, que es la que
corresponde al programa.
3. Una vez dentro del programa, procedemos a crear una
mquina virtual dando click en la opcin Nueva.
Seguimos los pasos que se nos muestra como dar
un nombre a nuestra mquina, asignar un tamao de
memoria RAM, crear una unidad de disco duro virtual
y asignar un tamao al disco duro virtual creado. En el
caso de esta prctica la mquina virtual tiene el nombre
de Ubuntu, memoria RAM de 1 GB y un disco duro
virtual de 32 GB.

IV-B.

Instalacin de Ubuntu en VirtualBox

Se deben seguir los siguientes pasos para instalar Ubuntu


en VirtualBox:
1. Descargar el instalador de la ltima versin estable de
Ubuntu de la pgina del autor, en este caso la 14.04.2.
http://www.ubuntu.com/download/desktop
2. Se descargar una imagen ISO, entonces dentro de la
mquina virtual Ubuntu que creamos en VirtualBox,
procedemos instalar el sistema operativo. Para esto,
dentro de la mquina virtual Ubuntu, vamos a la pestaa
Configuracin y seguimos los siguientes pasos:
a) En la pestaa Sistema activar la casilla que dice
Habilitar I/O APIC.
b) En la pestaa Almacenamiento, dentro del rbol
de almacenamiento dar click en la imagen Vaco.
Se abrir un men con el nombre de Atributos,
una vez ah dar click en la imagen de un CD
para seleccionar un archivo de disco virtual de
CD/DVD, seleccionar la imagen hizo que se descarg en el paso 1.
c) En la pestaa Red, en el men despegable Conectado a: escoger la opcin Adaptador puente,
y en el men despegable Nombre: seleccionar la
opcin que pertenezca a la tarjeta Ethernet de la
mquina anfitrin.
3. Una vez que la mquina virtual lea la imagen ISO se
proceder a instalar en la misma el sistema operativo
Ubuntu. Seguir todos los pasos de la instalacin que
son configuraciones bsicas. Cuando la instalacin haya
acabado tendremos una pantalla dentro de VirtualBox
como la que se puede observar en la Figura 3.

Figura 3. Sistema Operativo Ubuntu instalado en VirtualBox.

IV-C.

Figura 2. Creacin de la mquina virtual Ubuntu.

Instalacin de Apache Web Server

Se deben seguir los siguientes pasos para instalar el servidor


Apache en Ubuntu. Todo lo que se describa a continuacin ser
referido a la mquina virtual que creamos.
1. Iniciar sesin en Ubuntu.
2. Dentro de Ubuntu acceder a la Terminal que es una
ventana de comandos de sistema. Se puede acceder a travs de su icono o tecleando la combinacin Ctrl+Alt+t.

INFORME 1, REDES DE COMPUTADORAS II

3. Dentro de la terminal escribir el comando sudo apt-get


install apache2 sin las comillas. Se descargar la
versin ms actual de Apache y se instalar en Ubuntu.
Se deben seguir los pasos que indica la instalacin. En
la Figura 4., se puede observar el comando que se debe
utilizar para la instalacin de Apache.

Figura 4. Sistema Operativo Ubuntu instalado en VirtualBox.

4. Comprobar la instalacin del servidor Apache, para esto


se debe ejecutar el explorador web Mozilla Firefox
dentro de Ubuntu y teclear la direccin 127.0.1.1 que
pertenece al localhost. Si todo sali bien, debe salir una
pgina parecida a la mostrada en la Figura 5.

2. Para configurar la direccin IP de la mquina anfitrin,


en windows se debe acceder a las conexiones de red que
se encuentran en el directorio Panel de control\Redes
e Internet\Conexiones de red. Seleccionar Ethernet y
dar click derecho, seleccionar Propiedades y dentro
de propiedades marcar la opcin Protocolo de Internet
versin 4 (TCP/IPv4), dar click a la opcin Propiedades e ingresar la IP 192.168.1.1 y la mscara de subred
255.255.255.0
3. Para configurar la direccin IP del servidor Apache,
se debe cambiar la direccin IP del sistema operativo Ubuntu. Para esto, dentro de la terminal se deben teclear algunos comandos. En el siguiente enlace
se puede observar como se realizar la configuracin
http://eltallerdelbit.com/cambiar-ip-en-ubuntu/. Asignar
la IP 192.168.1.2 y la mscara de subred 255.255.255.0
Cabe recalcar que las direcciones IP asignadas a los hosts
deben pertencer a la misma red LAN. Adems en nuestro caso
en el servidor el sistema nativo del ordenar es Debian por lo
que no es necesario crear una mquina virtual y nicamente
se trabaja con las IP 192.168.1.1 del servidor Apache y
192.168.1.3 del cliente.
IV-E.

Cambiar la pgina de inicio del servidor

Para editar la pgina de inicio del servidor existen dos


opciones dentro de Ubuntu:
1. Editar el cdigo HTML de la pgina de inicio: Para
esto se debe acceder al archivo index.html. Nuevamente
dentro de la terminal teclear el comando sudo nano
/var/www/html/index.html. Se abrir un editor de texto
en el cual se podr editar el cdigo de la pgina.
2. Reemplazar el archivo index.html que se encuentra en
el directorio /var/www/html/index.html por el de la
pgina web que se quiera poner al inicio. El archivo
que contendr a la pgina de inicio deber tener
el nombre de index.html. En la Figura 6., se puede
observar la pgina de inicio editada del servidor Apache.

Figura 5. Servidor Apache correctamente instalado.

IV-D. Configuracin de las direcciones IP.


Para configurar las direcciones IP, se deben seguir estos
pasos:
1. Para configurar la direccin IP del cliente, en windows se debe acceder a las conexiones de red que se
encuentran en el directorio Panel de control\Redes e
Internet\Conexiones de red. Seleccionar Ethernet y
dar click derecho, seleccionar Propiedades y dentro
de propiedades marcar la opcin Protocolo de Internet
versin 4 (TCP/IPv4), dar click a la opcin Propiedades e ingresar la IP 192.168.1.3 y la mscara de subred
255.255.255.0

Figura 6. Pgina de inicio Servidor Apache.

En nuestro caso se reemplaz el archivo index.html por uno


desarrollado por nosotros mismos en el cul a ms de la
interfaz web, se implement una base de datos.
IV-F.

Captura de datos en wireshark

En windows, realizar lo siguiente:

INFORME 1, REDES DE COMPUTADORAS II

1. Descargar e instalar wireshark, el programa se encuentra


en la pgina del autor. https://www.wireshark.org/
2. Ejecutar wireshark.
3. Una vez dentro del programa, en el men Capture
seleccionar la opcin Ethernet. Se abrir una nueva
ventana en la que se debe seleccionar los protocolos a
capturar mediante Capture Filter. En este caso se debe
seleccionar en Capture Filter la opcin tcp port http.

mtodo get perteneciente al protocolo HTTP y el servidor


Apache no posee mtodos por lo que devuelve los paquetes
solicitados, y de esta forma se establece la comunicacin
cliente-servidor, observando la pgina principal del servidor
Apache en el explorador web del cliente. Cabe recalcar que
para establecer la conexin se necesita que el cliente reciba
el nmero 200 del servidor Apache, lo que significa que el
servidor est en lnea y listo para establecer la comunicacin,
esto se puede observar en la Figura 9.

V. R ESULTADOS
V-A. Ping al servidor Apache
Como se puede observar en la Figura 7., se realiz un
ping al servidor Apache, es decir a la IP 192.168.1.1, todos
los paquetes fueron enviados por el cliente y recibidos en el
servidor, por lo que se realiz la conexin cliente-servidor de
una manera correcta.

Figura 9. Inicio de la comunicacin cliente-servidor.

Figura 7. Ping al servidor Apache desde el cliente.

Figura 10. Diagrama de red.

V-B. Anlisis de trfico de datos cuando se accede al servidor Apache desde el cliente
En la Figura 8., se puede observar los datos capturados por
Wireshark.

Figura 8. Trfico de datos en Wireshark.

En el trfico de datos analizado se puede observar que


el cliente hace una peticin al servidor Apache mediante el

V-C.

Diagrama de red

En la Figura 10., se puede observar el diagrama de red de


la prctica implementada. Como en nuestro caso el servidor
Apache se encuentra en una mquina con sistema operativo
nativo Linux, el diagrama nicamente corresponde a la conexin entre el cliente-servidor.

VI.

C ONCLUSIONS AND RECOMMENDATIONS

With the development of this practice you learn to install a


virtual machine, in this case Ubuntu, but having a server with
Debian native system was not necessary to use it. More than
that of learned to install the Apache web server, configure
IPv4 addresses and edit our own website using a plain text
editor and saving the text with .html extension .html file
that was replaced with the index.html that displayed on the
server; is important that the file created web page "index.html"
is called for it to be recognized by the server or failing
"index.php" when a database is used as in our case. We
observed as HTTP is fulfilled by analyzing packets using the
Wireshark tool longer check that the server is working by
pinging from the command terminal windows to the Apache
server. It was necessary to learn some basic Linux command to
perform all the activities proposed, these commands puenden
be "sudo" granted administrator permissions, "apt-get install /
update" installing any files or updates, "ifconfig" that allows
configuring network interfaces, among others. The objectives
of the practice were fully met so the success of it and use
this report as a guide for creating an Apache web server on a
Linux operating system is guaranteed.
R EFERENCIAS
[1] Aprenderaprogramar.com, Que es un servidor y cuales son los
principales tipos de servidores. . [en lnea]. Disponible en:
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=542

INFORME 1, REDES DE COMPUTADORAS II

[2] Servidor
Apache.
.
[en
lnea].
Disponible
en:
http://smr.iesharia.org/wiki/lib/exe/fetch.php/src:ut4:apuntes-apache.pdf
[3] Catarina, Captulo 5: Cliente-Servidor . [en lnea]. Disponible en:
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/marquez_a_bm/capitulo5.pdf
[4] Mohammed
J.
Kabir,
La
Biblia
del
Servidor
Apache.
.
[en
lnea].
Disponible
en:
http://biblioises.com.ar/Contenido/Esenciales/Informatica/Software/Anaya %20%20La %20biblia %20del %20Servidor %20Apache %201.pdf
[5] El lenguaje HTML, Documentos HTML. [en lnea]. Disponible en:
http://www.juntadeandalucia.es/averroes/~04000134/informatica/html.html
[6] Universidad Nacional de Piura, El Protocolo HTTP. [en lnea]. Disponible en: http://wcruzy.pe/ri/protohttp00.pdf
[7] We live security, Uso de Filtros en Wireshark. [en lnea]. Disponible en: http://www.welivesecurity.com/la-es/2013/01/28/uso-filtroswireshark-para-detectar-actividad-maliciosa/

You might also like