Capture de paquets sous Windows en pratique — choisir entre pktmon, netsh trace et Wireshark

· · Windows, Capture de paquets, pktmon, netsh, Wireshark, Réseau, Dépannage, TCP/IP

« La communication serveur de l’application métier échoue quelques fois par mois. Le journal applicatif ne dit que “timeout”. Il n’y a pas d’erreur correspondante dans le journal côté serveur à ce moment-là. On ne sait pas comment reproduire » — dans les consultations d’enquête de bugs, cette forme revient sans cesse.

Un journal applicatif ne conserve que ce que l’application « a décidé d’écrire ». On voit que le résultat était un timeout, mais si la demande de connexion (SYN) n’a eu aucune réponse, si la connexion s’est établie puis le serveur s’est tu, si elle a été coupée par un RST, ou si le paquet a même atteint la destination, tout cela vit un cran sous le journal — dans les paquets qui sont réellement passés sur le fil. Si Process Monitor est le moyen de descendre d’un cran sur les accès fichiers et registre, la capture de paquets est le moyen de descendre d’un cran sur la conversation.

Les paquets un cran sous le journal applicatifUn journal applicatif ne conserve que ce que l'application a décidé d'écrire ; absence de réponse au SYN, silence après connexion, coupure par RST ou arrivée du paquet ne vivent que dans les paquets réellement passés sur le fildescendre d'un cranJournal applicatifSeul ce que l'app a décidé d'écrire resteLe résultat est un timeout d'un motPaquets réellement passés sur le filPas de réponse au SYN ?Silence après connexion ?Coupé par RST ?A-t-il atteint la destination ?

Figure 1 : Le journal ne garde que le résultat ; le détail d’un timeout n’existe que dans les paquets un cran plus bas.

L’endroit typique où l’on bloque est la contrainte « on ne peut pas installer Wireshark sur le serveur du client ». Les sites où le contrôle des changements ou une politique de sécurité n’approuvent pas de logiciel supplémentaire pour une enquête ne sont pas rares. Windows, pourtant, livre déjà deux outils de capture de paquets : pktmon et netsh trace. Capturer avec les outils intégrés de l’OS, ramener le fichier sur son propre PC et le lire dans Wireshark — avec ce partage, on voit encore les paquets sur un site qui interdit les installations.

Cet article s’adresse aux informaticiens de PME et aux développeurs d’applications Windows. Il organise le choix entre pktmon, netsh trace et Wireshark, et la procédure pratique de chacun. Les pièges du trafic de bouclage, le choix de capturer côté client ou serveur, comment vivre avec le TLS qui cache la charge utile, et la corrélation de la capture avec le journal applicatif sont traités à partir de sources primaires à jour en août 2026.

1. La conclusion d’abord

  • « Capturer avec l’outil intégré, lire avec Wireshark » est le partage de base sur site. Même si l’on ne peut pas installer de logiciel sur le serveur client, pktmon et netsh trace sont intégrés à Windows. Convertissez le journal capturé en pcapng et analysez-le dans Wireshark sur votre machine.12
  • pktmon est l’outil de capture de paquets intégré à Windows 10 / Windows Server 2019 et ultérieurs. On l’utilise en quatre étapes — enregistrer un filtre, démarrer, arrêter, convertir — et sa force distinctive est de voir quel composant de la pile réseau a écarté le paquet (la raison du drop).34
  • netsh trace est l’outil intégré plus ancien ; il peut activer un ensemble de fournisseurs ETW comme « scénario ». Outre les paquets, il conserve des événements internes aux composants Windows, et avec persistent=yes la capture peut survivre à un redémarrage.56
  • Les deux outils écrivent de l’ETL, que Wireshark ne peut pas ouvrir tel quel. Convertissez en pcapng avec pktmon etl2pcap pour pktmon, et avec l’outil open source de Microsoft etl2pcapng pour netsh trace.12
  • Microsoft lui-même pointe « pktmon d’abord, puis netsh trace si ce n’est pas assez, et Wireshark pour l’analyse de protocole ». Le partage de cet article suit cette recommandation officielle.7
  • Par défaut, pktmon n’enregistre que les 128 premiers octets de chaque paquet. Si vous comptez lire la charge utile dans Wireshark, n’oubliez pas --pkt-size 0 (enregistrer le paquet entier) au démarrage.8
  • Le trafic vers localhost n’apparaît pas dans une capture normale. Il ne passe jamais par une NIC. Utilisez l’adaptateur de bouclage Npcap dans Wireshark, ou la capture dans la pile de pktmon avec les outils intégrés.9
  • Même lorsque le TLS cache la charge utile, on apprend encore beaucoup. Établissement de la connexion, succès de la poignée de main TLS, RST, et quel côté s’est tu restent visibles même chiffrés. Le déchiffrement via SSLKEYLOGFILE est une technique réservée à l’environnement de développement.10
  • Une capture contient la communication elle-même. Partez du principe qu’elle peut inclure des identifiants et des données personnelles, et intégrez à la procédure une capture minimale et un filtrage avant transmission.

2. Les trois outils de capture et comment choisir

D’abord, un tableau unique des rôles des trois outils.

  pktmon netsh trace Wireshark
Comment l’obtenir Intégré à Windows 10 / Windows Server 2019 et ultérieurs3 Intégré à Windows depuis longtemps (utilisable sur les OS antérieurs à pktmon) Installation séparée requise
Rôle principal Capture de paquets, détection de drops, compteurs Capture de paquets + événements ETW des composants Windows Analyse des données capturées (la vraie destination)
Format de sortie ETL (conversion en pcapng avec etl2pcap)1 ETL+.cab (conversion en pcapng avec etl2pcapng)62 pcapng
Force distinctive Lieu et raison du drop dans la pile4 Regroupement des fournisseurs par scénario, capture à travers les redémarrages5 Filtres d’affichage, analyse TCP, statistiques, GUI
Droits Administrateur Administrateur Équivalent administrateur pour capturer (inutile pour l’analyse seule)

En une phrase, pktmon et netsh trace sont les outils de « capture », et Wireshark est l’outil de « lecture ». Wireshark peut aussi capturer, mais on ne peut pas s’en servir là où on ne peut pas l’installer. Inversement, on peut convertir l’ETL des outils intégrés en texte et le lire, mais le fixer sans filtre d’affichage ni analyse TCP est une misère. « Capturer sur site avec l’outil intégré, convertir en pcapng, et lire dans Wireshark sur sa machine » est le chemin le plus court sur un site contraint.

Capturer avec l'outil intégré, lire avec WiresharkSur site on capture de l'ETL avec pktmon ou netsh trace, on convertit chacun en pcapng avec son outil, puis on analyse dans Wireshark sur sa machinepktmon etl2pcapetl2pcapngpktmon (intégré)Fichier ETLnetsh trace (intégré)ETL+.cabpcapngAnalyser dans Wireshark sur sa machine

Figure 2 : Sur site on capture de l’ETL avec les outils intégrés, on convertit en pcapng, et on le lit dans Wireshark sur sa machine.

Le guide Microsoft d’enquête sur les pertes de paquets a la même forme : capturer et isoler la cause avec pktmon d’abord, puis passer à des traces au niveau composant comme netsh trace start scenario=InternetClient si ce n’est pas assez, et analyser le comportement de protocole dans Wireshark.7

Comme préalable pour lire ce qu’un paquet montre réellement, il est aussi utile d’avoir une image des couches empilées — Ethernet, IP, TCP, données applicatives. L’anatomie des couches est illustrée dans « Comprendre vraiment le modèle OSI ».

3. pktmon en pratique — Filtrer, démarrer, arrêter, convertir

Le flux de base de pktmon tient en quatre étapes. Exécutez-les dans un terminal élevé.

:: 1. Enregistrer d'abord un filtre pour restreindre la cible (TCP 8443 sur le serveur 192.168.10.20)
pktmon filter add App8443 -i 192.168.10.20 -t tcp -p 8443
pktmon filter list

:: 2. Démarrer la capture. Enregistrer les paquets entiers, écraser dans un tampon circulaire de 1 Go
pktmon start --capture --pkt-size 0 --file-name C:\temp\app-timeout.etl --file-size 1024 --log-mode circular

:: 3. Reproduire l'incident. En attendant, on peut vérifier le volume et les pertes avec counters
pktmon counters --drop-reason

:: 4. Arrêter, puis convertir en pcapng pour Wireshark
pktmon stop
pktmon etl2pcap C:\temp\app-timeout.etl --out C:\temp\app-timeout.pcapng

:: 5. Nettoyer le filtre enregistré (les filtres restent jusqu'à suppression explicite).
::    Note : filter remove n'accepte pas de nom ; il supprime « tous » les filtres enregistrés.
::    Sur une machine qui peut encore avoir des filtres d'une autre enquête, vérifier d'abord avec pktmon filter list
pktmon filter remove
Procédure de base de pktmonRéduire la cible avec un filtre, démarrer la capture, reproduire l'incident, arrêter, convertir en pcapng avec etl2pcap, puis retirer le filtre enregistré1. Réduire la cible avec filter add2. Démarrer avec start --capture3. Reproduire l'incidentVérifier volume et drops avec counters4. ArrêterConvertir en pcapng avec etl2pcap5. Nettoyer avec filter remove

Figure 3 : pktmon commence par l’enregistrement du filtre, puis capture, arrêt et conversion, et on retire le filtre explicitement à la fin.

Points à retenir :

  • Enregistrez les filtres avant de démarrer la capture. La documentation Microsoft recommande aussi fortement d’appliquer un filtre avant de démarrer, car capturer tout le trafic est trop bruyant. Les filtres peuvent spécifier adresse IP, port, adresse MAC, protocole, ID VLAN, etc., et on peut en enregistrer jusqu’à 32. Plusieurs filtres sont un OU : un paquet est enregistré s’il correspond à l’un d’eux.3
  • Un filtre pktmon ne distingue pas source et destination. -i 192.168.10.20 signifie « les paquets où cette adresse est la source ou la destination ». Réduisez le sens plus tard avec un filtre d’affichage Wireshark après conversion.3
  • La taille de paquet par défaut est 128 octets. Cela suffit pour l’analyse d’en-têtes, mais si vous voulez aussi les données applicatives, enregistrez le paquet entier avec --pkt-size 0.8
  • Le journal est par défaut en mode circular (tampon circulaire), taille par défaut 512 Mo. On change le plafond avec --file-size, et --log-mode real-time imprime à l’écran en temps réel sans créer de fichier journal. Confirmez d’abord en temps réel que vous voyez réellement le trafic qui vous intéresse, puis réglez la capture de production : vous évitez une prise vide.8
Comment les filtres pktmon s'appliquentPlusieurs filtres enregistrés enregistrent sur une correspondance OU, l'adresse spécifiée ne distingue pas source et destination, et le sens se réduit ensuite avec un filtre d'affichage Wireshark après conversionFiltre 1Enregistrer si l'un correspondFiltre 2Filtre 3 (jusqu'à 32)Enregistré dans le journal de capture (OU)Source et destination non distinguéesRéduire le sens dans Wireshark après conversion

Figure 4 : Plusieurs filtres fonctionnent en OU, et le fait qu’un hôte soit source ou destination se réduit dans Wireshark après conversion.

3.1. Ce que seul pktmon peut faire — voir où un paquet a été écarté

La valeur distinctive de pktmon face à Wireshark est qu’il capture un paquet à plusieurs points à l’intérieur de la pile réseau, pas à une seule NIC, et peut indiquer où et pourquoi il a été écarté (dropped). Parce qu’on voit jusqu’à quel composant un paquet est arrivé et où il a disparu, des raisons de drop comme « écart MTU » ou « filtre VLAN » mènent à la cause sans recherche exhaustive.4

pktmon capture à plusieurs points dans la pilepktmon capture un paquet à plusieurs points dans la pile réseau plutôt qu'à une seule NIC, il peut donc indiquer avec une raison quel composant le paquet a atteint et où il a été écartéPaquetCapturé au point 1Capturé au point 2Écarté au point 3Indique le lieu et la raison du dropex. écart MTU ou filtre VLAN

Figure 5 : Capturer à plusieurs points dans la pile indique jusqu’où un paquet est allé et où il a été droppé, avec une raison.

  • pktmon list montre les composants réseau que l’on peut surveiller (NIC, piles de protocoles, pilotes de filtre, etc.) et leurs ID.
  • pktmon counters --drop-reason liste les compteurs de passage/drop par composant et la raison de drop la plus récente. Pratique comme première coupe avant d’analyser le journal.11
  • Convertissez en texte avec pktmon etl2txt et les paquets écartés sont émis avec drop et un dropReason.3

Le soupçon que « quelque chose dans l’OS écarte ceci avant qu’il n’atteigne l’application » ne se tranche pas en fixant Wireshark seul. Cette capacité aide, par exemple, à isoler un cas où le pare-feu droppe faute de règle entrante (« Le pare-feu Windows et les applications métier »).

Un bémol. pktmon enregistre le même paquet à plusieurs points de la pile, donc une conversion telle quelle en pcapng peut faire apparaître le même paquet plus d’une fois. pcapng ne porte pas « quel composant a capturé ceci », donc pour une lecture dans Wireshark le geste standard est de convertir avec --component-id pour choisir un point (ou de mettre les drops seuls dans un fichier séparé avec --drop-only).1

Pourquoi le même paquet peut apparaître deux fois après conversion pcapngpktmon enregistre le même paquet à plusieurs points de la pile, pcapng ne conserve pas quel composant l'a capturé donc des doublons peuvent apparaître, et le geste standard est de convertir après avoir réduit le point avec component-id ou mis les drops seuls dans un fichier drop-onlyMême paquet enregistré à plusieurs pointsConvertir en pcapng tel quelL'information de point de capture n'est pas repriseLe même paquet apparaît plus d'une foisRéduire le point avec --component-idFichier séparé avec --drop-only

Figure 6 : L’information de point de capture n’est pas reprise dans pcapng, donc le geste standard est de réduire le point avant de convertir.

4. netsh trace en pratique — Scénarios, ETL et captures qui survivent à un redémarrage

netsh trace est le mécanisme de trace présent dans Windows plus longtemps que pktmon. Sa caractéristique est qu’en tant que « scénario » il peut activer d’un coup tout l’ensemble de fournisseurs ETW liés à ce problème.6

:: List available scenarios and inspect the providers in a scenario
netsh trace show scenarios
netsh trace show scenario netconnection

:: Start the capture. Packet capture included, 1GB circular buffer
netsh trace start scenario=netconnection capture=yes tracefile=C:\temp\nettrace.etl maxSize=1024 filemode=circular

:: Reproduce the incident, then stop (the merge takes a little time)
netsh trace stop
  • Ajoutez capture=yes pour activer la capture de paquets, et réduisez la cible avec un filtre de capture tel que ipv4.address=192.168.10.20. La liste des filtres est dans netsh trace show capturefilterHelp.6
  • L’arrêt produit un fichier .cab en plus de l’ETL. Le .cab contient des informations système telles que la configuration des adaptateurs et la build de l’OS, il sert donc aussi de collecte d’environnement.6
  • Une seule session de trace peut s’exécuter à la fois. Avant de démarrer une autre capture, vérifiez avec netsh trace show status qu’aucune session résiduelle ne tourne encore.6
  • Ajoutez persistent=yes et la session survit à un redémarrage. Capturer « la communication échoue un instant juste après le redémarrage » ou « la connexion du service au démarrage échoue » — des incidents qu’on ne peut pas démarrer à temps à la main — est le terrain unique de netsh trace.5
Capturer un scénario netsh traceDémarrer avec un scénario active un ensemble de fournisseurs ETW, capture=yes capture aussi les paquets, et l'arrêt produit un fichier ETL et un fichier .cabcapture=yesDémarrer avec un scénarioActiver l'ensemble de fournisseursLes paquets sont aussi capturésReproduire l'incidentArrêterFichier ETL.cab (informations système)

Figure 7 : Démarrer avec un scénario active un ensemble de fournisseurs, et l’arrêt produit ETL et .cab.

4.1. Rendre l’ETL lisible dans Wireshark — etl2pcapng

L’ETL de netsh trace ne s’ouvre pas tel quel dans Wireshark. etl2pcapng, l’outil open source que Microsoft publie sur GitHub, convertit en pcapng les paquets d’un ETL capturé avec netsh trace start capture=yes.2

etl2pcapng.exe C:\temp\nettrace.etl C:\temp\nettrace.pcapng

À la conversion, etl2pcapng écrit l’identifiant de processus lié à chaque paquet comme commentaire de paquet. Pouvoir voir « de quel processus est ce trafic » dans Wireshark aide lorsque plusieurs applications sur le même serveur communiquent.2

Le côté événements ETW (événements internes Windows enregistrés par les fournisseurs du scénario) n’est pas converti en pcapng. Si vous voulez aussi les événements, convertissez en texte ou équivalent avec netsh trace convert input=C:\temp\nettrace.etl, ou ouvrez l’ETL dans Windows Performance Analyzer.57

Lire l'ETL netsh trace se scinde en deux cheminsLes paquets dans l'ETL se convertissent en pcapng avec etl2pcapng et se lisent dans Wireshark ; les événements ETW ne sont pas convertis en pcapng, on les lit avec netsh trace convert ou Windows Performance Analyzeretl2pcapngETL netsh tracePaquetsÉvénements ETWConvertir en pcapngLire dans WiresharkL'ID de processus reste en commentaireNon converti en pcapngLire avec convert ou WPA

Figure 8 : De l’ETL, les paquets se convertissent en pcapng pour être lus ; les événements ETW se lisent autrement.

5. Premier regard pour lire dans Wireshark — Filtres d’affichage et analyse TCP

Une fois le pcapng ouvert, coupez d’abord le bruit avec un filtre d’affichage. Les plus courants sont dans le tableau.1213

Filtre d’affichage Signification
ip.addr == 192.168.10.20 Paquets où cette IP est source ou destination
tcp.port == 8443 Paquets impliquant ce port TCP
dns Requêtes et réponses DNS uniquement
tcp.flags.syn == 1 && tcp.flags.ack == 0 SYN de connexion uniquement
tcp.flags.reset == 1 RST (coupure forcée) uniquement
tcp.analysis.retransmission Paquets que Wireshark a jugés des retransmissions
tcp.analysis.zero_window Fenêtre de réception 0 (le récepteur ne peut plus prendre)
tcp.analysis.flags Tout paquet où un problème a été détecté

tcp.analysis.* sont des drapeaux d’analyse que Wireshark attribue en suivant les numéros de séquence TCP. Retransmissions, ACK dupliqués, hors séquence, ZeroWindow et similaires sont relevés mécaniquement, donc la façon standard de commencer à lire est de taper d’abord tcp.analysis.flags et de lister les endroits « qui ont l’air d’un problème ».13

Dans une enquête de timeout, cherchez les formes suivantes dans l’ordre.

  1. La poignée de main à trois voies s’est-elle achevée ? Les trois paquets SYN → SYN/ACK → ACK sont-ils tous là ? Si le SYN se répète sans réponse, il n’a jamais atteint le pair, ou il a été écarté silencieusement au milieu (le schéma typique du pare-feu).
  2. Quel côté a envoyé le RST ? Un RST immédiat au SYN signifie que personne n’écoute sur le port de destination ; un RST après établissement signifie qu’un côté a forcé la coupure. L’IP source du RST est la preuve directe de « qui a coupé ».
  3. Les retransmissions continuent-elles ? La retransmission répétée du même segment est le signe que l’accusé de réception (ACK) ne revient pas à l’émetteur. Si les données sortantes ont été perdues ou si l’ACK de retour l’a été ne se tranche pas depuis une capture unilatérale (c’est pourquoi « capturer des deux côtés » au chapitre suivant compte). Retransmissions et timeouts sont approfondis dans « Pourquoi les retransmissions TCP bloquent la communication d’une caméra industrielle ».
  4. Y a-t-il un ZeroWindow ? C’est le signe que l’application réceptrice ne lit pas depuis le socket et que le tampon de réception est plein. C’est un motif de soupçonner la conception de l’application réceptrice (« Le malentendu selon lequel TCP renvoie les données dans les mêmes unités que Send ») plutôt que le réseau.
Ordre des formes à chercher dans une enquête de timeoutConfirmer l'achèvement de la poignée de main à trois voies, la présence et la source d'un RST, les retransmissions qui continuent, puis ZeroWindow, pour poser une première marque sur la causenonouiouinonouinonouiLe SYN a-t-il eu une réponse ?N'est jamais arrivé(Pare-feu typique)Y a-t-il un RST ?La source du RST a coupéLes retransmissions continuent ?L'ACK ne revient pasZeroWindow présent ?Le récepteur ne lit pas

Figure 9 : Chercher poignée de main, RST, retransmission, puis ZeroWindow dans cet ordre réduit l’endroit où regarder ensuite.

Avant de lire les paquets un par un, il aide aussi de prendre le tableau d’ensemble avec les fonctions de statistiques. [Statistics] → [Conversations] est une liste de « quelle paire d’IP / de ports a parlé, de quand à quand, combien », pour identifier la conversation qui vous intéresse puis filtrer uniquement celle-là. [Statistics] → [I/O Graph] est un graphe de volume dans le temps ; des formes comme « à partir de cet instant, un sens s’est tu » sautent aux yeux. Clic droit sur la conversation TCP d’intérêt et [Follow] → [TCP Stream] permet de lire l’échange de cette connexion en clair.

Prendre le tableau avec les statistiques, puis réduire à une conversationLister quelles conversations ont parlé quand et combien dans Conversations, saisir l'intervalle de silence sur l'I/O Graph, filtrer la conversation d'intérêt, et la lire comme flux TCPPrendre le tableau d'ensemble avec les statistiquesListe des conversations dans ConversationsVoir le volume sur l'I/O GraphFiltrer la conversation d'intérêtL'intervalle de silence devient visibleLire comme flux TCP

Figure 10 : Avant de lire paquet par paquet, prenez le tableau avec les statistiques, réduisez à la conversation d’intérêt, puis lisez-la d’un trait.

6. Le piège du bouclage — le trafic vers localhost ne passe jamais par une NIC

Essayer d’enquêter sur une communication entre applications sur le même PC — par exemple une application métier qui se connecte à un service intermédiaire sur localhost:8080 — et rester bloqué sur « rien n’apparaît dans Wireshark » est un piège classique.

La cause est claire. Le trafic vers localhost (127.0.0.1) ne passe jamais par une NIC physique ; il est renvoyé sur le chemin de bouclage interne de l’OS. Une capture normale ciblant un adaptateur physique ne le voit donc jamais.9

Pourquoi le trafic vers localhost n'apparaît pas dans une captureLe trafic vers localhost ne passe jamais par une NIC physique et est renvoyé sur le chemin de bouclage interne de l'OS, il n'apparaît donc jamais dans une capture normale ciblant un adaptateur physiqueexternelocalhostApplicationPile réseauNIC physiqueVu dans une capture normaleRenvoyé dans l'OSAbsent d'une capture normaleBouclage Npcap ou pktmon

Figure 11 : Le trafic vers localhost est renvoyé avant la NIC, une capture d’adaptateur physique ne le voit jamais.

Il y a deux façons de s’y prendre.

  • Lors d’une capture dans Wireshark : Choisissez l’« Adapter for loopback traffic capture » de Npcap comme cible de capture. L’installateur Windows de Wireshark (3.0 et ultérieurs) embarque Npcap, donc si Wireshark est déjà installé vous l’utilisez sans travail supplémentaire.9
  • Lors d’une capture avec les outils intégrés : pktmon capture à plusieurs points à l’intérieur de la pile réseau plutôt qu’à l’extérieur de la NIC4, il peut donc aussi observer le trafic de bouclage. Pour être sûr, avant de poser une attente de reproduction en production, confirmez sur cette machine avec l’affichage temps réel pktmon start -c -m real-time que le trafic de bouclage qui vous intéresse est réellement visible.

Surveillez aussi deux confusions.

  • « localhost » peut se résoudre en IPv6 ::1. L’application se connecte à IPv6 ::1, mais l’enquêteur ne regarde que 127.0.0.1 (IPv4) et conclut à tort « il n’y a pas de trafic ». Étirez le filtre d’affichage sur les deux, comme dans ip.addr == 127.0.0.1 || ipv6.addr == ::1, ou rendez le réglage de destination de l’application une adresse explicite.9
  • Le trafic vers votre propre IP réelle ne part pas non plus sur le fil. Quand le même PC se connecte de 192.168.10.5 à 192.168.10.5, la destination est une IP réelle mais l’OS le renvoie encore en interne. Souvenez-vous que « j’ai spécifié une IP réelle, donc ça passe par la NIC » n’est pas garanti.
La confusion quand localhost se résout en IPv6Le localhost d'une application peut se résoudre en IPv6 ::1, et si l'enquêteur ne regarde que 127.0.0.1 il conclut à tort qu'il n'y a pas de trafic, donc étirez le filtre d'affichage sur les deux adresses ou confirmez la destination comme adresse expliciteL'app se connecte à localhostSe résout en fait en ::1 (IPv6)L'enquêteur ne regarde que 127.0.0.1Rien n'apparaît à l'écranÉtirer le filtre sur les deux adressesRendre la destination une adresse explicite

Figure 12 : Attention à la confusion où localhost se résout en ::1 et ne regarder que 127.0.0.1 mène à « il n’y a pas de trafic ».

7. Où capturer — un côté, les deux côtés, et la synchro d’horloge

La valeur d’une capture se décide par « où vous avez capturé ». La règle empirique est la suivante.

Lieu de capture Ce que vous apprenez Quand c’est adapté
Côté client seulement Ce que vous avez envoyé et ce qui est revenu D’abord, pour le tableau d’ensemble. Quand vous ne pouvez pas toucher le serveur
Côté serveur seulement Si la requête est arrivée et si une réponse a été envoyée Quand il y a beaucoup de clients, ou que vous n’en identifiez pas un
Les deux côtés à la fois Où sur le chemin un paquet a disparu, quel côté s’est tu Quand il faut trancher la frontière de responsabilité

Une capture unilatérale ne vous dit que « les faits vus de ma position ». Des retransmissions qui continuent côté client ne distinguent pas si le paquet envoyé a disparu sur le chemin, ou s’il est arrivé au serveur et que la réponse a disparu. Capturer des deux côtés et les aligner permet de trancher « le client l’a envoyé / le serveur ne l’a jamais reçu » — quel côté s’est tu. Quand il faut trancher la frontière de responsabilité (l’application, l’OS, un équipement réseau, ou l’autre extrémité), cela vaut la peine de préparer une capture des deux côtés dès le départ.

Ce que disent les captures unilatérale et bilatéraleUne capture unilatérale ne distingue pas si le paquet sortant a disparu ou si la réponse de retour a disparu ; capturer des deux côtés et les aligner tranche quel côté s'est tuCapturer d'un côtéFaits de votre côtéSortant ou retour ?Capturer des deux côtésLes alignerQuel côté s'est tuIl faut une synchro d'horloge

Figure 13 : Un seul côté ne montre que les faits que vous avez vus ; aligner les deux côtés est ce qui tranche d’abord la frontière de responsabilité.

7.1. La prémisse de la corrélation est la synchro d’horloge

Pour aligner des captures des deux côtés, les horloges des deux machines doivent s’accorder. Avant de démarrer la capture, vérifiez et notez le décalage d’horloge.

:: Check time-sync status (sync source, last sync time)
w32tm /query /status

:: Measure the offset against the peer server (5 samples)
w32tm /stripchart /computer:sv-app01 /dataonly /samples:5

w32tm /stripchart est la commande qui montre le décalage de temps entre vous et l’ordinateur pair, et elle devient le fondement d’une correction telle que « l’horloge du serveur était à +0,8 seconde » lorsque vous alignez les captures.14 Dans un environnement à grand décalage, corriger d’abord la synchro d’heure puis capturer est le chemin le plus court au final.

Procédure pour vérifier le décalage d'horloge avant corrélationConfirmer son propre état de synchro avec w32tm, mesurer et noter le décalage contre le serveur pair avec stripchart, utiliser ce décalage comme fondement de correction à l'alignement, et si le décalage est grand corriger d'abord la synchro puis capturerVérifier l'état de synchro avec queryMesurer le décalage avec stripchartNoter le décalageFondement de correction à la corrélationSi le décalage est grand, corriger d'abord la synchro

Figure 14 : Mesurez et notez le décalage d’horloge avant de capturer, et utilisez-le comme fondement de correction lorsque vous alignez les captures.

7.2. Pour « on ne sait pas quand cela arrivera » — un tampon circulaire

Pour un incident dont les conditions de reproduction sont inconnues, le geste de base est de laisser un tampon circulaire tourner et de l’arrêter quand l’incident survient.

  • pktmon : Par défaut, c’est le mode circular. Fixez le plafond (Mo) avec --file-size ; les paquets plus anciens sont écrasés.8
  • netsh trace : Spécifiez-le comme maxSize=1024 filemode=circular.5
  • Wireshark : Sous [Capture] → [Options] → [Output] on peut configurer « plusieurs fichiers + tampon circulaire ». Il tourne par taille de fichier ou par temps et ne garde que les N fichiers les plus récents, donc on peut tourner longtemps avec un plafond d’usage disque.15

Dans tous les cas, partagez avec la personne sur site la règle : quand l’incident arrive, « noter l’heure d’abord, puis » arrêter la capture. Un tampon circulaire efface le passé plus on attend, donc si le chemin de l’occurrence à l’arrêt est long, l’intervalle qui vous intéresse est écrasé.

Attendre avec une capture en tampon circulairePour un incident dont les conditions de reproduction sont inconnues, laisser un tampon circulaire tourner, et quand l'incident survient noter l'heure et arrêter vite ; un arrêt tardif écrase les paquets plus anciens et l'intervalle d'intérêt disparaîtDémarrer une capture en tampon circulaireLe laisser tourner et attendreL'incident survientNoter l'heureArrêter viteLes paquets plus anciens sont écrasésUn arrêt tardif efface l'intervalle d'intérêt

Figure 15 : Un tampon circulaire efface le passé plus on attend, donc une fois l’heure notée, arrêtez vite.

8. Le problème que le TLS cache la charge utile — ce que l’on voit encore

La plupart du trafic métier aujourd’hui est du TLS (HTTPS). On a tendance à penser « si c’est chiffré, capturer ne sert à rien », mais la plupart de ce que l’on veut dans une enquête de timeout reste visible avec le chiffrement laissé en place.

  • Si la connexion TCP s’est établie (poignée de main à trois voies)
  • Jusqu’où la poignée de main TLS est allée — si ServerHello est revenu à ClientHello, si elle a été coupée par un RST ou une alerte pendant la poignée de main
  • Le nom d’hôte de destination sur ClientHello (SNI), et la version TLS négociée
  • Une fois la connexion en place, quel côté a cessé d’envoyer. Le lieu du silence, les retransmissions, un RST, ou une fermeture propre (FIN)

Autrement dit, isoler « impossible de se connecter », « coupe au milieu » et « aucune réponse ne revient » n’a presque jamais besoin du déchiffrement de la charge utile. Ce que le chiffrement perd, c’est « ce qu’ils ont dit » ; « qui s’est tu, et quand » reste.

Ce qu'une capture TLS peut et ne peut pas montrerLe chiffrement ne cache que la charge utile des données applicatives ; établissement de connexion TCP, succès ou échec de la poignée de main TLS, SNI et version TLS, RST, et quel côté s'est tu restent visibles avec le chiffrement laissé en placeCapture de trafic TLSVisibleNon visibleÉtablissement de connexion TCPRésultat TLS et SNIRST / qui s'est tuCharge utile des données applicatives

Figure 16 : Le chiffrement ne perd que la charge utile ; le squelette de la conversation se lit encore avec le TLS laissé en place.

Quand il faut encore la charge utile, Wireshark peut déchiffrer le TLS à l’aide des clés de session écrites via la variable d’environnement SSLKEYLOGFILE. La prise en charge se limite à certaines implémentations comme Firefox, Chrome, Edge basé sur Chromium et les bibliothèques de la famille OpenSSL ; le SChannel intégré à Windows (applications qui utilisent WinHTTP ou WinINET) ne prend pas en charge ce mécanisme.10 Parce que « la clé de session est écrite dans un fichier » signifie que quiconque a ce fichier peut déchiffrer toute la conversation, ce n’est pas une technique de production ; traitez-la comme une reproduction et un débogage en environnement de développement.

Fonctionnement et limites du déchiffrement SSLKEYLOGFILELes clés de session écrites via SSLKEYLOGFILE permettent à Wireshark de déchiffrer le TLS, mais seules certaines implémentations comme Firefox et la famille Chrome le prennent en charge et SChannel non ; quiconque a le fichier de clés peut déchiffrer la conversation, donc traitez-le comme une technique réservée à l'environnement de développementDéfinir SSLKEYLOGFILEÉcrire les clés de sessionLire dans WiresharkLe détenteur de la clé peut déchiffrerDéveloppement seulementCertaines piles TLS seulementSChannel : pas de prise en charge

Figure 17 : Écrire les clés de session peut déchiffrer, mais les implémentations prises en charge sont limitées, et la nature de la clé en fait une technique réservée à l’environnement de développement.

Lorsque le trafic passe par un proxy interne, la destination qui apparaît dans la capture est le serveur proxy, et le TLS circule dans un tunnel CONNECT. La question préalable de vers quel proxy l’application se dirige même est organisée dans l’article compagnon du même jour « Les proxys d’entreprise et les applications Windows — démêler la résolution de proxy dans WinINET, WinHTTP et .NET ».

9. Corréler avec le journal applicatif — mettre le temps sur le même axe

Une capture à elle seule produit rarement la conclusion. Le geste décisif en pratique est de mettre une ligne du journal applicatif et un aller-retour de paquets sur le même axe temporel.

La procédure ressemble à ceci.

  1. Identifiez l’heure de l’incident depuis le journal applicatif (par exemple, une exception de timeout à 10:23:41). Si la valeur de timeout est de 30 secondes, le début devrait être autour de 10:23:11.
  2. Passez l’affichage de l’heure de Wireshark sur [View] → [Time Display Format] → [Date and Time of Day], et réduisez l’intervalle avec un filtre d’affichage (on peut aussi filtrer par l’heure, comme dans frame.time >= "2026-08-20 10:23:00" && frame.time <= "2026-08-20 10:24:00").
  3. Dans cet intervalle, confirmez l’ordre du chapitre 5 (poignée de main → RST → retransmission → ZeroWindow). Si vous pouvez aligner jusqu’à « 30 secondes avant l’heure de timeout du journal, un SYN a été envoyé, et ensuite seulement des retransmissions de SYN », le « timeout » du journal est remplacé par l’observation « à ce point de capture, aucune réponse n’est jamais revenue » (si le SYN n’a jamais atteint le pair, ou si le SYN/ACK de retour a été perdu sur le chemin du retour, ne se tranche pas depuis ce seul point de capture. S’il faut le trancher, capturez sur le serveur et alignez-les).
  4. Corrigez toujours le décalage entre l’heure de capture et l’heure du journal (le décalage d’horloge mesuré à la section 7.1, et la notation de fuseau du journal). Quelques secondes d’erreur de corrélation cloueront la mauvaise conversation comme coupable.
Procédure pour aligner le journal applicatif et les paquetsIdentifier l'heure de l'incident depuis le journal applicatif, remonter l'heure de début depuis la valeur de timeout, réduire l'intervalle dans Wireshark avec un filtre d'affichage, confirmer les formes dans l'ordre, corriger le décalage d'horloge, et les mettre sur le même axe temporel1. Identifier l'heure de l'incident depuis le journalRemonter le début depuis la valeur de timeout2. Réduire l'intervalle avec un filtre d'affichage3. Confirmer les formes dans l'ordre du chapitre 54. Corriger le décalage d'horlogeLe mot du journal devient une observation

Figure 18 : Réduisez l’intervalle depuis l’heure du journal, confirmez la forme, corrigez le décalage d’horloge, et mettez-les sur le même axe.

Lorsque vous remettez des résultats d’enquête à un tiers (un éditeur, un opérateur, le personnel réseau du client), couper le bruit avec un filtre avant de le transmettre est à la fois une politesse et une mesure de sécurité. Dans Wireshark, réduisez à la conversation d’intérêt avec un filtre d’affichage et enregistrez « les paquets affichés seulement » avec [File] → [Export Specified Packets], et vous obtenez un petit pcapng de juste la plage dont vous avez besoin.

Enfin, une précaution de traitement. Un fichier de capture contient la communication elle-même. Il peut inclure des identifiants de protocoles en clair, des cookies HTTP et des clés d’API, le contenu de courriers ou de rapports, et des données personnelles. Décidez des trois points suivants comme un ensemble avec la procédure de capture.

  • Capture minimale nécessaire : Réduisez la cible avec les filtres pré-capture (chapitres 3 et 4) et gardez la fenêtre temporelle aussi courte que possible. Ne faites pas « on capture tout » sur un environnement client
  • Réduire avant de transmettre : Exportez uniquement la conversation d’intérêt ; n’incluez pas de trafic tiers sans rapport. S’il reste des parties sensibles, convenez avec le destinataire d’un masquage ou d’un autre moyen
  • Conservation et suppression : Décidez où les fichiers de capture sont conservés, pendant combien de temps, et quand ils sont supprimés, et supprimez-les quand l’enquête est terminée
Trois décisions à prendre avant de transmettre un fichier de captureUne capture contient la communication elle-même, donc décidez comme un ensemble avec la procédure de capture que vous réduirez au minimum avec les filtres pré-capture et une fenêtre temporelle, extrairez uniquement la conversation d'intérêt avant transmission pour ne pas inclure de trafic sans rapport, et déciderez du lieu et de la durée de conservation puis supprimerez après l'enquêteCapture = le traficCapturer le minimumExtraire d'abord la cibleFixer la conservation, supprimerFiltrer et exporter

Figure 19 : Décidez capture minimale, réduction avant transmission, et conservation et suppression comme un ensemble avec la procédure de capture.

10. Synthèse

  • Un cran sous le « timeout » du journal applicatif se trouve le fait des paquets réellement passés sur le fil. Que le SYN n’ait pas eu de réponse, qu’un RST ait coupé, que les retransmissions aient continué, ou qu’un ZeroWindow soit apparu change l’endroit où regarder ensuite.
  • Même sur un site où l’on ne peut pas installer Wireshark, on peut capturer avec pktmon et netsh trace intégrés à Windows. Capturer avec l’outil intégré, lire avec Wireshark sur sa machine — ce partage est la forme de base.
  • pktmon tient en quatre étapes : enregistrer un filtre → pktmon start --capturepktmon stoppktmon etl2pcap. Par défaut c’est tronqué à 128 octets, donc si vous voulez la charge utile n’oubliez pas --pkt-size 0. Voir le lieu et la raison du drop est une force que seul pktmon a.
  • netsh trace capture un ensemble de fournisseurs ETW comme scénario, et avec persistent=yes il peut survivre à un redémarrage. Convertissez l’ETL en pcapng avec etl2pcapng pour le lire.
  • Dans Wireshark, partez de tcp.analysis.flags et cherchez poignée de main, RST, retransmission et ZeroWindow dans cet ordre. C’est plus rapide si vous prenez d’abord le tableau avec Conversations et l’I/O Graph, puis réduisez.
  • Le trafic vers localhost ne passe jamais par une NIC, on ne peut pas le capturer de la façon ordinaire. Utilisez l’adaptateur de bouclage Npcap ou la capture dans la pile de pktmon.
  • Capturer des deux côtés et les aligner tranche « quel côté s’est tu ». La prémisse est la synchro d’horloge (w32tm). Pour un incident dont les conditions de reproduction sont inconnues, attendez avec un tampon circulaire.
  • Même sous TLS, le squelette de la conversation est visible. Traitez le déchiffrement (SSLKEYLOGFILE) comme une technique réservée à l’environnement de développement, et traitez le fichier de capture lui-même comme confidentiel : intégrez capture minimale, réduction et suppression à l’exploitation.

On pense souvent la capture de paquets comme « l’outil d’un spécialiste réseau », mais en pratique c’est un outil d’enquête côté application qui ne commence à signifier quelque chose que lorsqu’on l’aligne avec le journal applicatif. La prochaine fois qu’une enquête s’arrête au seul mot « timeout », allez regarder un cran plus bas.

Articles connexes

Domaines de conseil associés

KomuraSoft LLC prend en charge les enquêtes de bugs d’origine communication telles que « la communication de l’application métier échoue de temps en temps et on ne trouve pas la cause » et « nous voulons isoler une erreur de connexion qui n’arrive que sur l’environnement client ». Nous prenons la conception de la capture (où, quoi, et combien capturer), l’analyse Wireshark, la corrélation avec le journal applicatif, et la correction côté application comme un seul travail continu.

Références

  1. Microsoft Learn, pktmon etl2pcap. Sur la conversion des journaux ETL pktmon en pcapng pour les analyser dans Wireshark et outils similaires, et sur le fait que les informations d’écart et de point de capture dans la pile sont perdues en pcapng, donc il faut d’abord réduire avec –drop-only ou –component-id avant de convertir.  2 3 4

  2. GitHub, microsoft/etl2pcapng. Sur le fait qu’etl2pcapng est l’outil open source de Microsoft qui convertit en pcapng les paquets d’un fichier ETL capturé avec netsh trace start capture=yes et similaires, en préservant les informations d’interface et en écrivant l’identifiant de processus comme commentaire de paquet.  2 3 4 5

  3. Microsoft Learn, Pktmon command formatting. Sur le fait que pktmon.exe est disponible sur Windows 10 et Windows Server 2019 (version 1809) et ultérieurs ; la procédure de démarrage rapide enregistrement de filtre → démarrage → reproduction → vérification des compteurs → arrêt et conversion ; que les filtres sont au plus 32, combinés en OU, et ne distinguent pas source et destination ; et que les paquets écartés dans la sortie texte portent un dropReason.  2 3 4 5

  4. Microsoft Learn, Packet Monitor (Pktmon). Sur le fait que Packet Monitor est l’outil de diagnostic inter-composants intégré à Windows ; qu’il capture des paquets à plusieurs points dans la pile réseau pour visualiser le chemin d’un paquet ; qu’il signale les écarts sur les composants pris en charge avec une raison de drop (MTU Mismatch, Filtered VLAN, etc.) ; et qu’il fournit des compteurs de paquets par point.  2 3 4

  5. Microsoft Learn, netsh trace. Sur les paramètres de netsh trace start tels que scenario, capture, tracefile, maxSize, fileMode (circular agissant comme tampon circulaire) et persistent (conserver la session à travers un redémarrage), et sur la conversion de l’ETL en texte et similaires avec netsh trace convert.  2 3 4 5

  6. Microsoft Learn, Using Netsh to manage traces. Sur le fait qu’un scénario est un ensemble prédéfini de fournisseurs pour le dépannage ; leur inspection avec netsh trace show scenarios / show scenario ; qu’une seule session de trace peut s’exécuter à la fois ; les filtres de paquets tels que ipv4.address lorsque capture=yes ; et que l’arrêt produit ETL et un .cab qui inclut des informations système.  2 3 4 5 6

  7. Microsoft Learn, Diagnose packet loss. Sur la procédure d’enquête officielle consistant d’abord à capturer une trace avec pktmon et à vérifier les raisons de drop locales et les statistiques, à combiner cela avec une analyse au niveau protocole dans Wireshark, et si ce n’est pas assez à passer à une trace au niveau composant avec un scénario netsh trace.  2 3

  8. Microsoft Learn, pktmon start. Sur le démarrage d’une capture avec –capture ; –pkt-size valant par défaut 128 octets et 0 enregistrant le paquet entier ; –file-name et –file-size (défaut 512 Mo) ; et les valeurs de –log-mode (circular, multi-file, real-time, memory) avec circular comme défaut.  2 3 4

  9. Wireshark Wiki, CaptureSetup/Loopback. Sur le fait qu’une capture normale ciblant une NIC physique sous Windows ne peut pas capturer le trafic de bouclage vers 127.0.0.1 ; que l’« Adapter for loopback traffic capture » de Npcap rend la capture de bouclage possible ; et que Npcap est embarqué dans l’installateur Windows à partir de Wireshark 3.0.  2 3 4

  10. Wireshark Wiki, TLS. Sur le fait que Wireshark peut déchiffrer le TLS avec des clés de session écrites via la variable d’environnement SSLKEYLOGFILE ; que la prise en charge couvre Firefox, Chrome, Edge basé sur Chromium, les bibliothèques de la famille OpenSSL et similaires ; et que Microsoft SChannel ne prend pas en charge ce mécanisme.  2

  11. Microsoft Learn, pktmon counters. Sur le fait que pktmon counters affiche les compteurs de passage et de drop par composant surveillé ; que –drop-reason affiche la raison d’écart la plus récente pour chaque compteur de drop ; et la mise à jour en direct avec –live. 

  12. Wireshark, Building Display Filter Expressions (Wireshark User’s Guide). Sur la syntaxe des filtres d’affichage, les spécifications de champs telles que ip.addr et tcp.port, les opérateurs de comparaison, et leur combinaison avec and/or/not. 

  13. Wireshark, TCP Analysis (Wireshark User’s Guide). Sur la liste des drapeaux d’analyse TCP de Wireshark (tcp.analysis.retransmission, tcp.analysis.duplicate_ack, tcp.analysis.out_of_order, tcp.analysis.zero_window, etc.) et les conditions dans lesquelles chacun est attribué.  2

  14. Microsoft Learn, Windows Time service tools and settings. Sur le fait que w32tm est l’outil en ligne de commande recommandé pour configurer, surveiller et dépanner W32Time, et que w32tm /stripchart affiche le décalage de temps entre vous et un ordinateur pair (options telles que /dataonly et /samples). 

  15. Wireshark, Capture files and file modes (Wireshark User’s Guide). Sur les modes de sortie des fichiers de capture (fichier unique, fichiers multiples, tampon circulaire) et sur le fait qu’un tampon circulaire ne garde que les données les plus récentes pour plafonner l’usage disque. 

Articles récents partageant les mêmes étiquettes, pour approfondir des sujets proches.

Ces pages replacent le sujet dans un contexte plus large de services et de décisions.

Cet article est directement lié aux services suivants.

Questions fréquentes

Questions souvent posées lors d’une consultation sur le sujet de cet article.

Comment capturer des paquets sur un serveur client où l'on ne peut pas installer Wireshark ?
Utilisez les outils fournis avec Windows, pktmon ou netsh trace : aucune installation supplémentaire n'est nécessaire. Avec pktmon, enregistrez un filtre dans un terminal élevé, démarrez la capture avec pktmon start --capture, puis arrêtez-la avec pktmon stop. Le fichier ETL obtenu se convertit en pcapng avec pktmon etl2pcap, de sorte que l'analyse se fait dans Wireshark sur votre propre machine. « Capturer avec l'outil intégré, lire avec Wireshark » est le partage de tâches de base sur les sites qui restreignent les installations.
Faut-il utiliser pktmon ou netsh trace ?
Si le système a pktmon (Windows 10 / Windows Server 2019 et ultérieurs), commencez par pktmon. Les commandes sont simples, on voit quel composant de la pile réseau a écarté le paquet (la raison du drop), et la conversion pcapng est autonome. netsh trace est le meilleur choix pour capturer sur un ancien OS sans pktmon, pour collecter les événements ETW des composants Windows sous forme de scénario, ou pour qu'une capture survive à un redémarrage avec persistent=yes. La documentation de dépannage de Microsoft pointe aussi cet ordre : pktmon d'abord, puis netsh trace si ce n'est pas suffisant.
Pourquoi le trafic vers localhost (127.0.0.1) n'apparaît-il pas dans Wireshark ?
Le trafic vers localhost ne passe jamais par une NIC physique : il est renvoyé sur le chemin de bouclage interne de l'OS. Une capture normale ciblant un adaptateur physique ne le voit donc jamais. Dans Wireshark, choisissez l'« Adapter for loopback traffic capture » de Npcap pour capturer le trafic de bouclage. pktmon capture à l'intérieur de la pile réseau, il peut donc aussi observer le bouclage. Autre confusion fréquente : « localhost » se résout en IPv6 ::1, et un écran calé sur 127.0.0.1 ne montre rien — confirmez en spécifiant l'adresse explicitement.
Peut-on voir le contenu d'un trafic HTTPS (TLS) dans une capture de paquets ?
La charge utile des données applicatives est chiffrée et n'est pas visible. Le « squelette » de la conversation — connexion et coupure TCP, succès de la poignée de main TLS, coupure par RST, quel côté a cessé de répondre — reste visible même chiffré, donc la plupart des enquêtes de timeout avancent avec le TLS laissé chiffré. S'il faut la charge utile, le déchiffrement via SSLKEYLOGFILE existe, mais seules certaines implémentations TLS comme Firefox et la famille Chrome le prennent en charge ; le SChannel intégré à Windows n'est pas pris en charge. Le mécanisme écrit du matériel de clé secrète : traitez-le comme une option réservée à l'environnement de développement.
Est-il sûr d'envoyer un fichier de capture à un support externe ?
L'envoyer tel quel est dangereux. Une capture contient la communication elle-même et peut inclure des identifiants de protocoles en clair, des cookies, des clés d'API et des données personnelles. D'abord, au moment de la capture, réduisez le filtre et la fenêtre temporelle au minimum nécessaire, puis avant de le transmettre, extrayez uniquement la conversation cible avec un filtre d'affichage Wireshark et exportez-la. Pour ce qui reste, convenez avec le destinataire du traitement des parties sensibles (masquage, ou livraison par un autre moyen) avant l'envoi. Décidez à l'avance de la durée de conservation des fichiers de capture et du moment de leur suppression.

Profil de l’auteur

Page de présentation de l’auteur de l’article.

Go Komura

Représentant de KomuraSoft LLC

Spécialisé dans le développement de logiciels Windows, le conseil technique et l’analyse de pannes, notamment pour les systèmes existants et les incidents difficiles à reproduire.

Retour au blog