Wireshark / Tshark. Filtros HTTP.

A lo largo de los muchos artículos dedicados a Wireshark y Tshark, hemos estudiado la diferentes formas que tenemos para establcer filtros, ya sean de filtros de captura o visualización.

En esta ocasión vamos ver como estos filtros, aplicados a un determinado protocolo, nos pueda ayudar a gestionar mejor la información que queremos obtener. Empezarmos por los filtros HTTP.

La segunda parte de este artículo ya disponible: Wireshark / Tshark. Filtros HTTP. Parte 2


Vamos a ver algunos filtros como ejemplo.

http.request.method.

Establece filtros para los métodos de petición HTTP.  El caso más simple sería el método GET: el navegador contacta con el servidor web para obtener una página. Para filtrar por el método GET:

http.request.method == «GET»

>tshark -i1 -nlt r -R «http.request.method == «GET»»

NOTA: Usamos -R para establecer el filtro. Más sobre filtros .pcap aquí:

Wireshark / Tshark / Windump – Filtros pcap. Creación de filtros y filtros avanzados para captura de paquetes.

Vamos con el ejemplo:


Metodos http aplicacion filtros wireshark tshark

Existen otros métodos como:

  • HEAD
  • POST
  • PUT
  • DELETE
  • TRACE
  • OPTIONS

http.response.

Se refiere al filtrado por mensajes y códigos de respuesta. Estos son enviadios por el servidor al navegador. En los mensajes de respuesta se incluye un código de tres dígitos. Estos mensajes se dividen en categorías. Por ejemplo:

  • 10x se refiere a mensajes de información. no usados ya en la versión 1.0 de HTTP.
  • los códigos 20x se refieren a operaciones existosas
  • los códigos 30x so respuestas que indicanque el recurso ya no se encuentra en la ubicación que se especificó en el método GET.
  • 40x se refieren a solicitudes incorrectas. Son entonces errores de la petición formuladar por el cliente desde el navegador.
  • 50x aquí ocurre lo contrario, se refierenm a errores del servidor

Lo vemos en la siguiente captura:

>tshark -i1 -nlt r -R «http.response»

mensajes codigos respuesta http aplicacion filtros wireshark  tshark

Observad los distintos códigos que aparecen en la captura.

Tenemos:

  • 200 informa que la solicitud se tramitó existósamente.
  • 204 no hay información derespuest apede a que el servidor recibió la solicitud.
  • 302 los datos refereidos a la solicitud se encuentran ahora en una nueva dirección URL de forma temporal.
  • 301 los datos refereidos a la solicitud se encuentran ahora en una nueva dirección URL de forma permanente.

Podemos filtrar por código de la siguiente manera:

tshark -i1 -nlt r -R «http.response == 200» 

De esta forma solo vemos las paquetes cuyo mensaje de respuesta del servidor sea de solicitud correcta, codigo 200.

También podríamos usar las estadísticas http como vimos aquí:

Tshark, Wireshark en línea de comandos. (III Parte.) Estadísticas.


mensajes codigos respuesta http aplicacion filtros wireshark  tshark

http.content_type.

Se refiere a los encabezados de respuesta. Indica el tipo de contenido del recurso al que se accede mediante una solicitud. Los tipos de contenido pueden ser, entre otros::

  • texto/html
  • application/pdf
  • image/jpeg
  • image/gif
  • video/quicktime
  • application/zip
  • etc,

Filtramos por ejemplo los tipos image/gif:

content-type http aplicacion filtros wireshark tshark

http.server.

Se refiere al campo Server. Características del servidor que envió la respuesta a la solicitud del cliente o navegador.

Por ejemplo. Vamos a filtrar para ver los paquetes de respuesta servidor hacia cliente provenientes de un servidor Nginx. Nginx es un servidor web de código abierto para plataformas UNIX, línux, Windows.

El filtro sería http.server == «nginx» :

shttp server aplicacion filtros wireshark tshark

Podemos encontrar en nuestras capturas valores de http.server como por ejemplo:

  • sffe Safer Server. Bacjup online para servidores.
  • gws Google Web Server.
  • Apache. Aquí mendiante la palabra clave contains podemos diferenciar otros valores como PHP, Unix, etc.
  • PWS Personal Web Server.
  • GFE GFE/2.0 web server.
  • …..

Podríamos usar estos filtros con Tshark y las estadísticas:

http server aplicacion filtros wireshark tshark

http.user_agent.

Con esto podemos filtrar para obtener solo las peticiones realizadas desde un navegador determinado.

Por ejemplo. con  http.user_agent contains «Mozilla» veremos las solicitudes realizadas desde este navegador.

Observar que usamos la palabra clave contains para especificar solo una parte del campo User-Agent. De esta forma podemos diferenciar también por el sistema operativo, motor (por ejemplo Gecko), etc.

Por ejemplo:

  • http.user_agent contains «Gecko»
  • http.user_agent contains «Microsoft»
  • http.user_agent contains «Linux»
  • http.user_agent contains «Mozilla»

————-

La segunda parte de este artículo ya disponible: Wireshark / Tshark. Filtros HTTP. Parte 2

Esta entrada fue publicada en Seguridad y redes, Wireshark . Tshark. Guarda el enlace permanente.

5 respuestas a Wireshark / Tshark. Filtros HTTP.

  1. gicristian dijo:

    Muy bueno el blog, tengo una duda, a ver si me uedes ayudar, capture el archivo .pcap y lo guarde, lo unico que me interesa saber es como puedo importar a csv o allgun tipo de estadistica, poniendo yo previamente algun rango de ip o puertos en particular y me indique quien esta consumiendo anchos de banda?. Gracias!

    • Alfon dijo:

      gicristian, enel blog he hablando mucho de estas cosas, revisa lo relacionado con argus, por ejemplo, que tienes formas de pasar un pcap a .csv. Wireshark
      también al igual que tshark. Saludos,

  2. Pingback: Capturando el tráfico de una red, para Newbies y curiosos. « El chalé de Gaius Baltar

  3. Pingback: TNV. Herramienta gráfica de visualización e interpretación de tráfico de red. | Seguridad y Redes

  4. Pingback: Silencio, te vigilan - enriquemuriel.com

Deja un comentario