Wireshark

Análisis HTTP usando Wireshark

Análisis HTTP usando Wireshark

Que es HTTP?

Primero está toda la forma completa de HTTP es Protocolo de transferencia de hipertexto. HTTP es un protocolo de capa de aplicación en el modelo ISO o TCP / IP. Vea la imagen a continuación para averiguar HTTP que reside bajo la capa de aplicación.

HTTP es utilizado por la World Wide Web (w.w.w) y define cómo el navegador formatea y transmite los mensajes. Entonces, HTTP define las reglas qué acción se debe tomar cuando un navegador recibe un comando HTTP. Y también HTTP define reglas para transmitir el comando HTTP para obtener datos del servidor.

Por ejemplo, cuando ingresa una URL en el navegador (Internet Explorer, Chrome, Firefox, Safari, etc.), en realidad envía un comando HTTP al servidor.Y el servidor responde con el comando apropiado.

Métodos HTTP:

Hay un conjunto de métodos para HTTP / 1.1 (esta es la versión HTTP)

OBTENER, ENCABEZAR, PUBLICAR, PONER, ELIMINAR, CONECTAR, OPCIÓN y RASTREO.

No entraremos en detalles de cada método, sino que conoceremos los métodos que se ven con bastante frecuencia.Como

OBTENER: La solicitud GET solicita datos del servidor web. Este es un método principal utilizado para la recuperación de documentos. Veremos un ejemplo práctico de este método.

CORREO: El método POST se usa cuando se requiere enviar algunos datos al servidor.

HTTP es Wiresahark:

Probemos algo práctico para entender cómo funciona HTTP ?

Entonces en este ejemplo descargaremos "Alicia.txt ”(archivo de datos presente en el servidor) de "Gaia.cs.umass.edu ” servidor.

Setps:

  1. Abra la URL http: // gaia.cs.umass.edu / wirehark-labs / alice.txt [Conocemos la URL completa para descargar alice.txt] en el navegador de la computadora.
  2. Ahora vemos el archivo descargado en el navegador. Aquí está la captura de pantalla

  1. En paralelo hemos capturado los paquetes en Wireshark.

Intercambios de paquetes HTTP en Wireshark:

Antes de entrar en HTTP, debemos saber que HTTP usa el puerto 80 y TCP como protocolo de capa de transporte [Explicaremos TCP en otro tema de discusión].

Ahora veamos qué sucede en la red cuando ponemos esa URL y presionamos enter en el navegador.

Aquí está la captura de pantalla para

Protocolo de enlace de 3 vías TCP -> HTTP OK -> Datos TCP [contenido de alice.txt] ->

HTTP-OK

Ahora veamos qué hay dentro de los paquetes HTTP GET y HTTP OK.

Nota: Explicaremos los intercambios de TCP en otro tema de discusión.

HTTP OBTENER:

Después de que se realiza el protocolo de enlace de 3 vías de TCP [paquetes SYN, SYN + ACK y ACK], se envía la solicitud HTTP GET al servidor y estos son los campos importantes del paquete.

1.Método de solicitud: OBTENER ==> El paquete es un HTTP GET .

2.Solicitar URI: / wirehark-labs / alice.TXT ==> El cliente solicita el archivo Alice.txt presente en / Wireshark-labs

3.Solicitar versión: HTTP / 1.1 ==> Es la versión 1 de HTTP.1

4.Aceptar: texto / html, aplicación / xhtml + xml, imagen / jxr, * / * ==> Informa al servidor sobre el tipo de archivo que puede aceptar [navegador del lado del cliente]. Aquí el cliente espera a Alice.txt que es tipo de texto.

5.Aceptar-idioma: en-US ==> Estándar de idioma aceptado.

6.Agente de usuario: Mozilla / 5.0 (Windows NT 10.0; WOW64; Tridente / 7.0; RV: 11.0) como Gecko ==> Tipo de navegador del lado del cliente. Incluso si usamos Internet Explorer pero lo vemos siempre / tiempo máximo dice Mozilla

7.Aceptar codificación: gzip, desinflar ==> Codificación aceptada en el lado del cliente.

8.Anfitrión: gaia.cs.umass.edu ==> Este es el nombre del servidor web donde el cliente envía la solicitud HTTP GET.

9.Conexión: Keep-Alive ==> La conexión controla si la conexión de red permanece abierta después de que finaliza la transacción actual. El tipo de conexión se mantiene vivo.

Aquí está la captura de pantalla de los campos de paquetes HTTP-GET

HTTP OK:

Después de los datos de TCP [contenido de alice.txt] se envía con éxito HTTP OK se envía al cliente y aquí están los campos importantes en el paquete.
1. Versión de respuesta: HTTP / 1.1 ==> Aquí el servidor también en HTTP versión 1.1
2.Código de estado: 200 ==> Código de estado enviado por el servidor.
3.Frase de respuesta: OK ==> Frase de respuesta enviada por el servidor.

Entonces, de 2 y 3 obtenemos 200 OK, lo que significa que la solicitud [HTTP GET] se ha realizado correctamente.

4.Fecha: 10 de febrero de 2019 a las 06:24:19 GMT ==> Fecha actual, hora en GMT cuando el servidor recibió HTTP GET.
5.Servidor: Apache / 2.4.6 (CentOS) OpenSSL / 1.0.PHP de 2k-fips / 5.4.16 mod_perl / 2.0.10 Perl / v5.dieciséis.3 ==> Detalles del servidor y versiones de configuraciones.
6.Última modificación: Sáb, 21 de Agosto de 2004 14:21:11 GMT ==> Fecha y hora de la última modificación del archivo "alice.TXT".
7.ETag: “2524a-3e22aba3a03c0” ==> La ETag indica que el contenido no se cambia para ayudar al almacenamiento en caché y mejorar el rendimiento. O si el contenido ha cambiado, los etags son útiles para ayudar a evitar que las actualizaciones simultáneas de un recurso se sobrescriban entre sí.
8. Aceptar rangos: bytes ==> Byte es la unidad utilizada en el servidor para el contenido.
9.Largancia de contenido: 152138 ==> Esta es la longitud total de la alicia.txt en bytes.
10. Mantener viva: tiempo de espera = 5, máximo = 100 ==> Mantener vivos los parámetros.
11.Conexión: Mantener viva ==> La conexión controla si la conexión de red permanece abierta después de que finaliza la transacción actual. El tipo de conexión se mantiene vivo.
12.Tipo de contenido: Texto sin formato; juego de caracteres = UTF-8 ==> El contenido [alice.txt] el tipo es texto y el estándar del juego de caracteres es UTF-8.

Aquí está la captura de pantalla para diferentes campos del paquete HTTP OK.

Entonces ahora sabemos qué sucede cuando solicitamos cualquier archivo que esté presente en el servidor web.

Conclusión:

HTTP es un protocolo de aplicación simple que usamos todos los días en nuestra vida. Pero no es seguro, por lo que se implementó HTTPS. Esa "S" significa seguro. Es por eso que el nombre máximo del servidor web comienza con https: // [nombre del sitio web]. Esto significa que toda la comunicación entre usted y el servidor está encriptada. Tendremos una discusión separada sobre este HTTPS en el futuro.

Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...