Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Whireshark | Análisis trama HTTP

8 noviembre, 2012

He capturado la trama HTTP cuya IP se corresponde con la página de www.java.com
En la captura podemos observar cinco campos principales, los campos corresponde al Frame, Ethernet, Internet Protocol, Transmission Control Protocol, y por último el campo Hypertext Transfer Protocol.

whireshark

Frame:

Dentro del campo Frame, podemos distinguir varios campos entre los que podemos destacar la longitud o tamaño del frame, que corresponde a 426 bytes.

Los protocolos que se utilizan en el Frame que son: eth: ip: tcp : http
El puerto que utilizamos, que es el 80.

Ethernet:

En el campo Ethernet podemos observar que tiene dos subcampos, el campo destino y fuente (destination and source). El primero destino corresponde al router o dispositivo de salida a la red y se puede ver la mac del router. El segundo “fuente o source” corresponde al adaptador de red por el que se ha hecho la petición,
se puede observar la mac del adaptador de red.

Para conocer la mac del adaptador basta con lanzar el comando getmac/v desde la consola de Windows,
Sería así:

Internet Protocol

El campo Internet Protocol (IP) podemos observar que tiene la información correspondiente a las IP fuente y destino, que corresponden con la IP desde la que se hace la petición y la IP de la página que se ha solicitado.
También podemos ver la versión que corresponde a la versión 4.

La longitud de la cabecera que es 20 bytes.

Total Length corresponde con la longitud total de datagrama.

El campo Identification es un identificador que se utiliza para reensamblar un datagrama
El campo Flags se utiliza para el llevar a cabo el control de fragmentación, en este caso indica que no está fragmentado.

Header Checksum suma los valores de las palabras de la cabecera, esta suma sirve para comprobar que el datagrama es correcto, o en caso de que sea incorrecto para descartar el datagrama.

Transmission Control Protocol

En este campo podemos obtener información acerca de los puertos que están utilizando las máquinas, en este caso se utiliza el puerto 80 (http) y el puerto 55062.

SYN sirve para establecer el numero de la secuencia por la comenzará la transmisión.
Len corresponde al tamaño máximo que puede se puede enviar.

ACK se utiliza para indicarle al otro equipo que se ha recibido el datagrama. Similar a un acuse de recibo.
También podemos ver el tamaño de la cabecera que se corresponde con el campo header length.

HTTP

Del campo HTTP podemos obtener la información correspondiente al host, el método que utiliza, el agente de usuario (el tipo de navegador en este caso).

Primero podemos ver que utiliza el método GET para realizar la petición, además utiliza la versión 1.1.

GET es el método más común que sirve para solicitar un recurso, existen otros métodos como HEAD o POST, este último nos sirve para enviar datos a un servidor con el objetivo de que sean procesados.

El host al que solicitamos la petición corresponde con el host www.java.com.

El agente de usuario corresponde al navegador Mozilla /5.0 y corre desde un Windows 64 bytes.
La misma trama contiene una cabecera IP que contiene los datos referentes a la capa de red.