web-dev-qa-db-fra.com

Comment filtrer le trafic http dans Wireshark?

Je soupçonne que mon serveur a une énorme charge de requêtes http de ses clients. Je veux mesurer le volume de trafic http. Comment puis-je le faire avec Wireshark? Ou existe-t-il probablement une solution alternative utilisant un autre outil?

Voici à quoi ressemble un trafic de demande/réponse http unique dans Wireshark. Le ping est généré par WinAPI funciton :: InternetCheckConnection () texte alternatif http://yowindow.com/shared/ping.png

Merci!

89
par

Les paquets Ping doivent utiliser un type ICMP de 8 (écho) ou 0 (réponse d'écho), vous pouvez donc utiliser un filtre de capture de:

icmp

et un filtre d'affichage de:

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

Pour HTTP, vous pouvez utiliser un filtre de capture de:

tcp port 80

ou un filtre d'affichage de:

tcp.port == 80

ou:

http

Notez qu'un filtre de http n'est pas équivalent aux deux autres, qui incluront des paquets de prise de contact et de terminaison.

Si vous souhaitez mesurer le nombre de connexions plutôt que la quantité de données, vous pouvez limiter les filtres de capture ou d'affichage à un côté de la communication. Par exemple, pour capturer uniquement les paquets envoyés au port 80, utilisez:

dst tcp port 80 

Ajoutez-le à un filtre d'affichage http ou utilisez:

tcp.dstport == 80 && http

Pour en savoir plus sur les filtres de capture, lisez " Filtrage pendant la capture " du guide de l'utilisateur de Wireshark, la page filtres de capture sur le wiki Wireshark, ou filtre pcap ( 7) page de manuel. Pour les filtres d'affichage, essayez la page filtres d'affichage sur le wiki Wireshark. La boîte de dialogue "Expression de filtre" peut vous aider à créer des filtres d'affichage.

73
outis

Utilisez simplement un DisplayFilter http comme ceci:

display filter example

19
R. Oosterholt

Ce n'est pas un ping. Un ping, comme déjà dit par outis, est une demande d'écho ICMP. Votre trace affiche l'établissement et la cessation immédiate d'une connexion HTTP, et c'est ce que fait InternetCheckConnection(). L'adresse IP en question, 77.222.43.228, se résout en http://repkasoft.com/ , qui, je suppose, est l'URL que vous transmettez à InternetCheckConnection().

Vous pouvez filtrer le trafic avec cette IP en utilisant un filtre de capture ou d'affichage Host == 77.222.43.228.

7
atzz

En utilisant Wireshark 1.2+, je lancerais ce fichier 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
2
djangofan