¿Cómo filtrar el tráfico http en Wireshark?

88

Sospecho que mi servidor tiene una gran carga de solicitudes http de sus clientes. Quiero medir el volumen del tráfico http. ¿Cómo puedo hacerlo con Wireshark? ¿O probablemente hay una solución alternativa usando otra herramienta?

Así es como se ve un único tráfico de solicitud / respuesta http en Wireshark. El ping es generado por la función WinAPI :: InternetCheckConnection () alt text http://yowindow.com/shared/ping.png

¡Gracias!

par
fuente

Respuestas:

72

Los paquetes de ping deben usar un tipo ICMP de 8 (eco) o 0 (respuesta de eco), por lo que puede usar un filtro de captura de:

icmp

y un filtro de pantalla de:

icmp.type == 8 || icmp.type == 0

Para HTTP, puede usar un filtro de captura de:

tcp port 80

o un filtro de pantalla de:

tcp.port == 80

o:

http

Tenga en cuenta que un filtro de httpno es equivalente a los otros dos, que incluirá paquetes de saludo y terminación.

Si desea medir la cantidad de conexiones en lugar de la cantidad de datos, puede limitar la captura o mostrar los filtros a un lado de la comunicación. Por ejemplo, para capturar solo los paquetes enviados al puerto 80, use:

dst tcp port 80 

Combine eso con un httpfiltro de pantalla, o use:

tcp.dstport == 80 && http

Para obtener más información sobre los filtros de captura, lea " Filtrar mientras captura " de la guía del usuario de Wireshark, la página de filtros de captura en la wiki de Wireshark o la página del comando man pcap-filter (7) . Para los filtros de visualización, pruebe la página de filtros de visualización en el wiki de Wireshark. El cuadro de diálogo "Expresión de filtro" puede ayudarlo a crear filtros de visualización.

outis
fuente
1
Lo siento, he olvidado mencionar los detalles de la solicitud de "ping". Esta es la forma de hacer ping de Windows. Parece que icmp no tiene relación con mi caso.
par
Vea la captura de pantalla del ping en Wireshark que acabo de adjuntar
par
Cambié la pregunta de 'ping' a 'http' para que su respuesta no tenga sentido en contexto, pero hago +1 porque es una buena respuesta de ping.
Simeon Pilgrim
18

Simplemente use un DisplayFilter httpcomo este:

mostrar ejemplo de filtro

R. Oosterholt
fuente
Cuando hago eso, se muestra 0 y se reciben 45k, y accedo a sitios web, ¿alguna idea? Estoy mirando Wi-Fi:
en0
7

No es un ping. Un ping, como ya ha dicho outis, es una solicitud de eco ICMP. Su seguimiento muestra el establecimiento y la terminación inmediata de una conexión HTTP, y eso es lo que InternetCheckConnection()hace. La IP en cuestión, 77.222.43.228, se resuelve en http://repkasoft.com/ , que, supongo, es la URL a la que se pasa InternetCheckConnection().

Puede filtrar el tráfico con esta IP utilizando el filtro de captura o visualización host == 77.222.43.228.

atzz
fuente
2

Usando Wireshark 1.2+, ejecutaría este archivo por lotes:

:: Script to save a wireshark trace
:: tshark -D to get interface id
@echo off
C:
cd C:\Temp\NetTracing
set PATH=%PATH%;C:\Program Files\Wireshark
echo Tracing host 127.1 or 172.1.1.1 or 10.0.0.1

tshark.exe -i 4 -a duration:900 -S -f "tcp port 80" -w trace.cap
djangofan
fuente