Comment filtrer le trafic http dans Wireshark?

88

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

Voici à quoi ressemble un seul trafic de requête / réponse http dans Wireshark. Le ping est généré par WinAPI funciton :: InternetCheckConnection () alt text http://yowindow.com/shared/ping.png

Merci!

par
la source

Réponses:

72

Les paquets Ping doivent utiliser un type ICMP de type 8 (écho) ou 0 (réponse d'écho), afin que vous puissiez 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 httpn'est pas équivalent aux deux autres, qui incluront les 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 seul côté de la communication. Par exemple, pour ne capturer que les paquets envoyés au port 80, utilisez:

dst tcp port 80 

Ajoutez à cela un httpfiltre d'affichage ou utilisez:

tcp.dstport == 80 && http

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

outis
la source
1
Désolé, j'ai oublié de mentionner les détails de la requête "ping". C’est la méthode Windows utilisée par Ping. Il semble que icmp n'a aucun lien avec mon cas.
Par
Voir la capture d'écran du ping dans Wireshark que je viens de joindre
Par
J'ai changé la question de 'ping' en 'http', votre réponse n'aura donc aucun sens, mais je suis +1 parce que c'est une bonne réponse au ping.
Simeon Pilgrim
18

Utilisez simplement un DisplayFilter httpcomme ceci:

exemple de filtre d'affichage

R. Oosterholt
la source
Quand je le fais, je reçois 0 affiché et 45k, et je visite des sites Web, des idées? Je regarde Wi-Fi: en0
SuperUberDuper
7

Ce n'est pas un ping. Comme cela a déjà été dit par outis, un ping est une demande d'écho ICMP. Votre trace affiche l'établissement et la fin immédiate d'une connexion HTTP, et c'est ce qui se InternetCheckConnection()produit. L'adresse IP en question, 77.222.43.228, est résolue en http://repkasoft.com/ , qui correspond, je suppose, à l'URL à laquelle vous passez InternetCheckConnection().

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

atzz
la source
2

En utilisant Wireshark 1.2+, je voudrais exécuter ce fichier de commandes:

:: 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
la source