Come filtrare il traffico http in Wireshark?


88

Sospetto che il mio server abbia un carico enorme di richieste http dai suoi client. Voglio misurare il volume del traffico http. Come posso farlo con Wireshark? O probabilmente esiste una soluzione alternativa che utilizza un altro strumento?

Ecco come appare un singolo traffico di richiesta / risposta http in Wireshark. Il ping è generato da WinAPI funciton :: InternetCheckConnection () alt text http://yowindow.com/shared/ping.png

Grazie!

Risposte:


72

I pacchetti di ping devono utilizzare un tipo ICMP di 8 (eco) o 0 (risposta eco), quindi è possibile utilizzare un filtro di acquisizione di:

icmp

e un filtro di visualizzazione di:

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

Per HTTP, puoi utilizzare un filtro di acquisizione di:

tcp port 80

o un filtro di visualizzazione di:

tcp.port == 80

o:

http

Si noti che un filtro di httpnon equivale agli altri due, che includerà pacchetti di handshake e terminazione.

Se si desidera misurare il numero di connessioni anziché la quantità di dati, è possibile limitare i filtri di acquisizione o visualizzazione a un lato della comunicazione. Ad esempio, per acquisire solo i pacchetti inviati alla porta 80, utilizzare:

dst tcp port 80 

Abbinalo a un httpfiltro di visualizzazione o usa:

tcp.dstport == 80 && http

Per ulteriori informazioni sui filtri di acquisizione, leggi " Filtro durante l'acquisizione " dalla guida per l'utente di Wireshark, dalla pagina dei filtri di acquisizione nella wiki di Wireshark o dalla pagina man pcap-filter (7) . Per i filtri di visualizzazione, prova la pagina dei filtri di visualizzazione nella wiki di Wireshark. La finestra di dialogo "Espressione filtro" può aiutarti a creare filtri di visualizzazione.


1
Siamo spiacenti, ho dimenticato di menzionare i dettagli della richiesta "ping". Questo è il modo di eseguire il ping di Windows. Sembra che icmp non abbia alcuna relazione con il mio caso.
par

Vedere la screenshot del ping in Wireshark mi resta attaccato
par

Ho cambiato la domanda da "ping" a "http" in modo che la risposta non abbia senso nel contesto, ma I +1 perché è una buona risposta al ping.
Simeon Pilgrim,

18

Basta usare un DisplayFilter in httpquesto modo:

mostra un esempio di filtro


Quando lo faccio ottengo 0 visualizzati e 45k ricevuti e accedo ai siti Web, qualche idea? Sto guardando Wi-Fi: en0
SuperUberDuper

7

Non è un ping. Un ping, come già detto da Outis, è una richiesta di eco ICMP. La traccia mostra la creazione e la chiusura immediata di una connessione HTTP, ed è quello che InternetCheckConnection()fa. L'IP in questione, 77.222.43.228, si risolve in http://repkasoft.com/ , che, immagino, è l'URL al quale passi InternetCheckConnection().

Puoi filtrare il traffico con questo IP utilizzando il filtro di acquisizione o visualizzazione host == 77.222.43.228.


2

Usando Wireshark 1.2+, eseguivo questo file batch:

:: 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.