Lorsqu’on lance une capture, Wireshark utilise un mécanisme réseau spécial :
Wireshark demande à la carte réseau de passer en mode promiscuous.
⚠️ Ce fonctionnement dépend du matériel et de l’architecture réseau : sur un switch moderne, tu ne verras pas les trames unicast entre deux autres machines sans techniques spéciales (ex: ARP spoofing).
Wireshark permet de créer et gérer plusieurs profils utilisateur adaptés à différents contextes (pentest, réseau entreprise, etc).
Manage Profiles
dans le menu.
Il est possible de définir une capture limitée dans :
🔧 Ces options sont disponibles via Capture Options (ou touche Ctrl + K).
Lorsque tu traites de très grands fichiers PCAP, Wireshark peut ralentir. C’est là que Zui (anciennement Brim) est utile.
Sur un réseau très actif, tu peux voir des messages dans Wireshark comme :
Dropped packets
— Trop de paquets à capturer → pertes.
ACKed Lost Segment
— Le segment n’a pas été vu (packet missing).
Previous Segment Not Captured
— Un paquet a été perdu dans la séquence.
⚠️ Cela signifie que ta carte réseau ou ton PC n’arrive pas à suivre la charge !
Les Berkeley Packet Filters (BPF), aussi appelés Capture Filters, sont utilisés pour filtrer les paquets avant leur enregistrement.
📌 Syntaxe plus simple (comme dans tcpdump
), utilisée dans le champ Capture Filter avant démarrage de la capture.
Objectif | Filtre BPF |
---|---|
Trafic TCP uniquement | tcp |
Trafic sur le port 80 | port 80 |
IP source 192.168.1.10 | src host 192.168.1.10 |
Trafic ICMP | icmp |
contains
– Recherche simple
Utilité : Chercher une chaîne de texte exacte dans un champ (sensible à la casse).
http.request.uri contains "login"
ftp.request.command contains "USER"
frame contains "GET"
matches
– Recherche avancée avec regex
Utilité : Utiliser des expressions régulières (regex) pour faire des recherches complexes.
http.request.uri matches "(?i)login"
— ignore la casseftp.request.arg matches "me.{1,3}r"
— "me" suivi de 1 à 3 caractères, puis "r"frame matches "(?i)(chat|chient)"
— "chat" ou "chient" sans sensibilité à la cassecontains
et matches
Critère | contains | matches |
---|---|---|
Sensible à la casse | ✅ Oui | ❌ Non (avec (?i) ) |
Supporte regex | ❌ Non | ✅ Oui |
Facilité | ✅ Très simple | 🔸 Besoin de regex |
Flexibilité | ❌ Limitée | ✅ Très puissante |
But | Filtre |
---|---|
URI contenant "login" | http.request.uri contains "login" |
Mot "admin" (insensible à la casse) | ftp.request.arg matches "(?i)admin" |
Mot commençant par "me" + 1-3 lettres + "r" | ftp.request.arg matches "me.{1,3}r" |
Contenu "chat" ou "chient" | frame matches "(?i)(chat|chient)" |
Méthode POST HTTP (non sensible à la casse) | http.request.method matches "(?i)POST" |
View > Coloring Rules
SSLKEYLOGFILE
pour Firefox/Chrome
Preferences > TLS
Analyze > Expert Information
Follow TCP/UDP/HTTP stream
Conversations
ou IO Graph