Wireshark : ce que c'est, analyse du trafic et capture de paquets

Auteur : IT Sectr Publié le : 2026-05-08 Temps de lecture : 9 min

Wireshark est le principal analyseur de trafic réseau open source, utilisé pour la capture et l'inspection de paquets en temps réel. L'outil prend en charge plus de deux mille protocoles réseau et fonctionne sur toutes les principales plateformes. Selon le Wireshark User Guide (2026), l'utilitaire est utilisé pour le diagnostic des réseaux, le débogage d'API et l'analyse de sécurité dans le développement mobile et web.

L'essentiel

  • Wireshark est un sniffer de paquets gratuit doté d'une interface graphique pour l'analyse du trafic réseau.
  • La capture du trafic s'effectue via une interface réseau en mode promiscuous au niveau de la couche de liaison.
  • Le filtrage des paquets par IP, port, protocole et contenu est implémenté via le langage BPF et les display filters.
  • L'analyse HTTPS nécessite la configuration de SSLKEYLOGFILE ou d'un proxy intermédiaire pour déchiffrer les sessions.
  • Le débogage mobile est possible via la combinaison de tcpdump sur l'appareil et de Remote Packet Capture.

Qu'est-ce que Wireshark et comment il fonctionne

Wireshark est un programme open source (GPLv2) qui capture les paquets de données passant par l'interface réseau de l'ordinateur. Il repose sur la bibliothèque libpcap (Unix) ou Npcap (Windows) pour la capture au niveau de la couche de liaison du modèle OSI.

Principe de capture des paquets

En mode normal, une carte réseau ne reçoit que les trames adressées à son adresse MAC. Wireshark bascule l'interface en mode promiscuous (indiscriminé), dans lequel le système traite toutes les trames qui passent, quel que soit le destinataire. Les données capturées sont transmises au noyau via un raw socket, après quoi la bibliothèque libpcap les copie dans l'espace utilisateur pour analyse.

Architecture de traitement

Wireshark utilise une architecture modulaire : chaque protocole est implémenté comme un dissector distinct — un plugin qui analyse les données binaires et les affiche de manière structurée. En 2026, le programme implémente des dissectors pour 2 874 protocoles, dont HTTP/2, QUIC, gRPC et MQTT. Les dissectors fonctionnent via le système d'arborescence de protocoles — chaque paquet est analysé couche par couche : de la trame Ethernet au niveau application.

c
// Exemple d'un dissector simple pour un protocole personnalisé
static int dissect_custom(tvbuff_t *tvb, packet_info *pinfo,
        proto_tree *tree, void *data) {
    proto_item *ti = proto_tree_add_item(tree, hf_custom_field,
            tvb, 0, tvb_captured_length(tvb), ENC_NA);
    return 0;
}

Principales fonctionnalités de Wireshark

L'interface graphique de Wireshark est divisée en trois panneaux : liste des paquets (packet list), détails des protocoles (packet details) et dump hexadécimal (packet bytes). Chaque panneau est mis à jour en temps réel et prend en charge la navigation interactive — un clic sur une ligne de paquet ouvre sa structure complète.

Formats et protocoles pris en charge

L'outil lit les fichiers de capture aux formats pcap, pcapng, snoop et NetMon. L'export est possible vers JSON, XML, CSV et texte brut. Parmi les principaux protocoles de la couche application figurent HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP et Protobuf. Pour le développement mobile, la prise en charge de gRPC et de HTTP/2 avec multiplexage des flux est particulièrement importante.

Outils d'analyse

Les utilitaires intégrés incluent Follow Stream (reconstruction du dialogue complet TCP/UDP/TLS), IO Graph (graphique de débit), statistiques des conversations (Conversations) et hiérarchie des protocoles (Protocol Hierarchy). La fonction Flow Graph visualise la séquence des paquets entre les nœuds, ce qui facilite la recherche des causes de latence lors du débogage de l'interaction client-serveur.

Comment capturer le trafic avec Wireshark

Le lancement de la capture commence par la sélection d'une interface réseau — Ethernet, Wi-Fi, Bluetooth PAN ou Loopback. Sur Windows, l'installation de Npcap en mode WinPcap API Compatible Mode peut être nécessaire. Pour la capture sur les appareils mobiles, on utilise Remote Packet Capture via un tunnel SSH.

Capture sur un appareil distant

Sur un appareil Android, le trafic est capturé avec tcpdump ou PCAPdroid, puis le fichier est transféré vers l'ordinateur de travail. La commande de capture à distance via ADB :

bash
# Capture du trafic sur Android via ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Copie sur l'ordinateur
adb pull /sdcard/capture.pcap .

Capture du trafic Loopback

Sur Windows, le trafic localhost (127.0.0.1) ne passe pas par une interface physique, donc Wireshark ne le voit pas directement. La solution consiste à installer Npcap avec l'option Loopback Support ou à rediriger le trafic via RawCap. Sous Linux et macOS, l'interface loopback (lo) est capturée sans configuration supplémentaire.

Filtrage des paquets dans Wireshark

Wireshark propose deux types de filtres : les capture filters (appliqués avant la capture, au niveau de libpcap) et les display filters (appliqués aux données déjà capturées). Les capture filters utilisent la syntaxe BPF (Berkeley Packet Filter), les display filters — le langage propre de Wireshark avec autocomplétion.

Capture Filters (BPF)

Les filtres BPF sont écrits au format tcpdump et exécutés dans le noyau, ce qui minimise la perte de paquets en cas de charge élevée. Exemples de filtres :

FiltreFonction
tcp port 80Trafic HTTP uniquement sur le port standard
host 192.168.1.1Paquets d'un hôte spécifique
not arpTous les paquets sauf les requêtes ARP

Display Filters

Les display filters sont appliqués après coup et prennent en charge des conditions complexes avec les opérateurs logiques and, or, not. Exemple : http.request.method == "POST" and ip.src == 192.168.0.100 filtrera uniquement les requêtes POST d'une IP spécifique. Les filtres peuvent être enregistrés comme favoris pour une réutilisation.

Analyse du trafic HTTP et HTTPS

Le trafic HTTP est affiché dans Wireshark sous une forme lisible : méthode de requête, URI, en-têtes et corps de la réponse. La fonction Follow TCP Stream rassemble le dialogue complet entre le client et le serveur dans une seule fenêtre. Pour HTTPS, le déchiffrement des sessions TLS est nécessaire, car le contenu est chiffré.

Déchiffrement HTTPS via SSLKEYLOGFILE

Les navigateurs Chrome et Firefox prennent en charge la variable d'environnement SSLKEYLOGFILE, qui écrit les clés de session TLS dans un fichier texte. Wireshark utilise ce fichier pour déchiffrer les enregistrements. La configuration s'effectue via Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.

bash
# Lancer Chrome avec l'enregistrement des clés TLS
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .

# Après la capture, indiquer le chemin dans Wireshark
# Edit → Preferences → Protocols → TLS → Log Filename

Analyse de gRPC et Protobuf

gRPC utilise HTTP/2 comme transport et Protobuf pour la sérialisation des données. Wireshark déchiffre les messages gRPC si un fichier .proto avec les définitions des structures est fourni. Le dissector Protobuf associe les champs binaires aux noms du fichier proto, ce qui est essentiel lors du débogage d'une architecture de microservices.

Débogage des applications mobiles avec Wireshark

Le débogage mobile avec Wireshark nécessite de faire transiter le trafic de l'appareil vers l'ordinateur. La méthode la plus fiable consiste à créer un point d'accès Wi-Fi sur l'ordinateur portable et à rediriger le trafic via NAT. Sur Android, la méthode VPN avec l'application PCAPdroid est également disponible sans droits root.

Configuration sur Android sans root

PCAPdroid crée un service VPN local qui redirige le trafic des applications vers Wireshark via un flux UDP. L'application ne nécessite pas d'accès root et prend en charge le filtrage par processus individuels. Les fichiers pcap obtenus sont ouverts dans Wireshark pour une analyse complète.

bash
# Réception du trafic de PCAPdroid sur l'ordinateur
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap

Comparaison de Wireshark avec les alternatives

Wireshark est un outil universel, mais pour des tâches spécifiques, il existe des solutions plus spécialisées. tcpdump est plus efficace pour la capture serveur sans graphisme, Charles Proxy est plus pratique pour analyser le trafic HTTPS, et Fiddler — pour l'inspection du trafic web avec la possibilité de modifier les requêtes à la volée.

Charles Proxy vs Wireshark

Charles Proxy agit comme un serveur proxy intermédiaire capable d'intercepter HTTPS via sa propre certification SSL. Contrairement à Wireshark, Charles ne nécessite pas la configuration de SSLKEYLOGFILE et peut non seulement visualiser, mais aussi modifier le trafic — remplacer les réponses, simuler des latences et rejouer des requêtes.

Fiddler Everywhere

Fiddler est un autre outil proxy populaire dans l'écosystème .NET. Il fournit un éditeur de requêtes intégré, le support d'AutoResponder pour les mocks et un composer pour créer des requêtes personnalisées. Fiddler est mieux adapté à l'analyse du trafic web du navigateur, Wireshark — à l'analyse réseau de bas niveau.

OutilTypeHTTPS sans clésModification du trafic
WiresharkSnifferNon (SSLKEYLOGFILE requis)Visualisation uniquement
CharlesProxyOui (certificat personnalisé)Oui
FiddlerProxyOui (certificat personnalisé)Oui
tcpdumpSnifferNonVisualisation uniquement

Conseils pratiques pour travailler avec Wireshark

Wireshark exige une compréhension des principes de base de la capture du trafic. L'un des scénarios fréquents consiste à rechercher la source des latences dans une application mobile via le filtre tcp.analysis.ack_rtt. Pour trouver les requêtes HTTP lentes, utilisez la condition http.time supérieur à 1.

Recherche des requêtes lentes

Pour trouver les requêtes HTTP lentes, filtrez http.time supérieur à 1 — Wireshark affichera les requêtes avec un temps de réponse supérieur à 1 seconde. Combinez avec ip.addr pour analyser un serveur spécifique. Un IO Graph avec un intervalle de 1 seconde montrera clairement les pics de charge.

Export et reporting

Wireshark prend en charge l'export vers CSV, JSON et XML via le menu File. Pour l'analyse automatique, utilisez tshark — la version console qui fonctionne dans les pipelines CI/CD. Tshark prend en charge les mêmes filtres et formats de sortie que la version graphique.

Conseils pratiques pour travailler avec Wireshark

Wireshark exige une compréhension des principes de base de la capture du trafic. L'un des scénarios fréquents consiste à rechercher la source des latences dans une application mobile via le filtre tcp.analysis.ack_rtt. Pour trouver les requêtes HTTP lentes, utilisez la condition http.time supérieur à 1.

Recherche des requêtes lentes

Pour trouver les requêtes HTTP lentes, filtrez http.time supérieur à 1 — Wireshark affichera les requêtes avec un temps de réponse supérieur à 1 seconde. Combinez avec ip.addr pour analyser un serveur spécifique. Un IO Graph avec un intervalle de 1 seconde montrera clairement les pics de charge.

Export et reporting

Wireshark prend en charge l'export vers CSV, JSON et XML via le menu File. Pour l'analyse automatique, utilisez tshark — la version console qui fonctionne dans les pipelines CI/CD. Tshark prend en charge les mêmes filtres et formats de sortie que la version graphique.

Questions fréquentes

Quelle est la différence entre Wireshark et tcpdump ?

Wireshark fournit une interface graphique avec visualisation des paquets, filtres intégrés et statistiques. tcpdump est un utilitaire console sans GUI, pratique pour la capture serveur via SSH. Wireshark sait lire les fichiers de tcpdump et inversement.

Comment intercepter le trafic HTTPS dans Wireshark ?

Pour le déchiffrement, un fichier de clés de session TLS (SSLKEYLOGFILE) est requis. Chrome et Firefox exportent les clés au lancement avec la variable d'environnement. Le chemin du fichier est indiqué dans les paramètres Protocols → TLS de Wireshark.

Pourquoi Wireshark ne voit-il pas le trafic localhost sous Windows ?

Le trafic loopback sous Windows ne passe pas par le pilote Npcap par défaut. La solution consiste à installer Npcap avec l'option Loopback Support activée ou à utiliser l'utilitaire RawCap pour capturer le trafic local.

Peut-on utiliser Wireshark pour les applications mobiles ?

Oui, en faisant transiter le trafic vers l'ordinateur. Android prend en charge la capture via PCAPdroid (sans root) ou tcpdump (avec root). iOS exige RVI (Remote Virtual Interface) via macOS ou jailbreak pour la capture.

Comment filtrer les paquets par contenu dans Wireshark ?

Le display filter frame contains recherche une chaîne ou une séquence hexadécimale dans tout le paquet. Exemple : frame contains "password" trouvera les paquets contenant la sous-chaîne password dans n'importe quel champ. Pour une recherche précise par champ, utilisez http.request.uri contains "api".

Résumé

  • Wireshark est l'outil principal d'analyse du trafic réseau dans le développement, prenant en charge plus de 2800 protocoles.
  • La capture des paquets s'effectue en mode promiscuous via la bibliothèque libpcap ou Npcap au niveau de l'accès au support.
  • Le filtrage se divise en capture filters (BPF, au niveau du noyau) et display filters (langage de Wireshark, avec autocomplétion).
  • Le déchiffrement HTTPS est disponible via SSLKEYLOGFILE pour les navigateurs Chrome et Firefox.
  • Le débogage mobile s'implémente via PCAPdroid (Android) ou Remote Virtual Interface (iOS) sans besoin de root.
  • gRPC et Protobuf sont pris en charge via le chargement de fichiers .proto pour désérialiser les données binaires.
  • Flow Graph et IO Graph aident à visualiser les latences et à trouver les goulots d'étranglement dans l'interaction client-serveur.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi