102 votes

Comment filtrer le trafic http dans Wireshark ?

Je soupçonne mon serveur d'avoir une charge énorme de demandes http de la part de ses clients. Je veux mesurer le volume du trafic http. Comment puis-je le faire avec Wireshark ? Ou existe-t-il une solution alternative utilisant un autre outil ?

Voici à quoi ressemble le trafic d'une seule demande/réponse http dans Wireshark. Le ping est généré par la fonction WinAPI ::InternetCheckConnection(). texte alternatif http://yowindow.com/shared/ping.png

Merci !

80voto

DaveCrawford Points 671

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 comprendront les paquets de poignée de main 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 capturer uniquement les paquets envoyés au port 80, utilisez :

dst tcp port 80 

Ajoutez à cela un http filtre d'affichage, ou utilisation :

tcp.dstport == 80 && http

Pour en savoir plus sur les filtres de capture, lisez " Filtrer tout en capturant " du guide d'utilisation de Wireshark, l'option filtres de capture sur la page Wireshark wiki, ou pcap-filtre (7) page de manuel. Pour les filtres d'affichage, essayez le filtres d'affichage sur la page Wireshark wiki. Le site "Boîte de dialogue "Expression du filtre peut vous aider à construire des filtres d'affichage.

22voto

R. Oosterholt Points 303

Il suffit d'utiliser un DisplayFilter http comme ça :

display filter example

7voto

atzz Points 171

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

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

2voto

djangofan Points 4152

En utilisant Wireshark 1.2+ , j'exécuterais 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X