Como filtrar o tráfego http no Wireshark?


88

Suspeito que meu servidor tenha uma enorme carga de solicitações HTTP de seus clientes. Quero medir o volume do tráfego http. Como posso fazer isso com o Wireshark? Ou provavelmente existe uma solução alternativa usando outra ferramenta?

É assim que um único tráfego de solicitação / resposta http é exibido no Wireshark. O ping é gerado pelo WinAPI funciton :: InternetCheckConnection () texto alternativo http://yowindow.com/shared/ping.png

Obrigado!

Respostas:


72

Os pacotes de ping devem usar um tipo ICMP de 8 (eco) ou 0 (resposta de eco), para que você possa usar um filtro de captura de:

icmp

e um filtro de exibição de:

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

Para HTTP, você pode usar um filtro de captura de:

tcp port 80

ou um filtro de exibição de:

tcp.port == 80

ou:

http

Observe que um filtro de httpnão é equivalente aos outros dois, que incluirá pacotes de handshake e terminação.

Se você deseja medir o número de conexões em vez da quantidade de dados, pode limitar os filtros de captura ou exibição a um lado da comunicação. Por exemplo, para capturar apenas pacotes enviados para a porta 80, use:

dst tcp port 80 

Associe isso a um httpfiltro de exibição ou use:

tcp.dstport == 80 && http

Para obter mais informações sobre filtros de captura, leia " Filtrando durante a captura " no guia do usuário do Wireshark, na página de filtros de captura no wiki do Wireshark ou na página do manual pcap-filter (7) . Para filtros de exibição, tente a página de filtros de exibição no wiki do Wireshark. A caixa de diálogo "Expressão do filtro" pode ajudá-lo a criar filtros de exibição.


1
Desculpe, esqueci de mencionar os detalhes da solicitação "ping". Esta é a maneira do Windows de executar ping. Parece que o icmp não tem relação com o meu caso.
par

Veja a imagem do ping Wireshark eu só ter anexado
par

Alterei a pergunta de 'ping' para 'http' para que você responda não faça sentido no contexto, mas eu marquei +1 porque é uma boa resposta de ping.
Simeon Pilgrim

18

Basta usar um DisplayFilter httpcomo este:

exemplo de filtro de exibição


Quando faço isso, recebo 0 exibido e 45k recebidos, e acerto sites, alguma idéia? Estou olhando para Wi-Fi: en0
SuperUberDuper

7

Não é um ping. Um ping, como já foi dito por outis, é uma solicitação de eco do ICMP. Seu rastreio exibe o estabelecimento e o encerramento imediato de uma conexão HTTP, e é isso que InternetCheckConnection()acontece. O IP em questão, 77.222.43.228, resolve para http://repkasoft.com/ , que, eu acho, é o URL para o qual você passa InternetCheckConnection().

Você pode filtrar o tráfego com esse IP usando o filtro de captura ou exibição host == 77.222.43.228.


2

Usando o Wireshark 1.2+, eu executaria este arquivo em 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.