Contrôle du suivi de Winsock
Le suivi Winsock peut être contrôlé à l’aide de l’une des méthodes suivantes :
Outils en ligne de commande
Deux outils en ligne de commande sont inclus dans Windows Vista et Windows Server 2008 qui sont utilisés pour contrôler le suivi et convertir le fichier journal de trace binaire en texte lisible.
L’outil logman.exe est utilisé pour démarrer ou arrêter le suivi Winsock.
L’outil tracerpt.exe est utilisé pour convertir le fichier journal de trace binaire en fichier texte lisible.
Observateur d’événements
L’Observateur d’événements sur Windows Vista et versions ultérieures peut également être utilisé pour activer le suivi Winsock. L’Observateur d’événements est accessible sous les outils d’administration à partir du menu Démarrer.
Utilisation de logman et tracerpt
Le suivi des événements réseau Winsock est désactivé par défaut sur Windows Vista et versions ultérieures.
La commande suivante démarre le suivi des événements réseau Winsock sur un ordinateur, définit le nom de la session de trace d’événements sur mywinsocksession et envoie la sortie à un fichier journal binaire appelé winsocklogfile.etl :
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Les fichiers journaux sont créés dans le répertoire actuel avec des noms de fichiers de la forme winsocklogfile_000001.etl
La commande suivante arrête le suivi de Winsock sur un ordinateur pour la session nommée mywinsocksession :
logman stop -ets mywinsocksession
Un fichier journal binaire est écrit à l’emplacement spécifié par le paramètre –o. Pour traduire le fichier binaire en fichier texte lisible, tracerpt.exe est utilisé :
tracerpt.exe <nom du fichier .etl> –o winsocktracelog.txt
Si un fichier de sortie contenant du xml plutôt que du texte brut est préféré, la commande suivante est utilisée :
tracerpt.exe <nom du fichier .etl> –o winsocktracelog.xml –of xml
Le suivi des modifications de catalogue Winsock est activé par défaut sur Windows Vista et versions ultérieures.
Remarque
Les fournisseurs de service en couche sont déconseillés. À compter de Windows 8 et Windows Server 2012, utilisez la Plateforme de filtrage Windows.
La commande suivante démarre le suivi des modifications du catalogue Winsock pour les fournisseurs de services en couches (LSPs) sur un ordinateur, définit le nom de la session de trace d’événements sur mywinsockcatalogsession et envoie la sortie à un fichier journal binaire appelé winsockcataloglogfile.etl :
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Les fichiers journaux sont créés dans le répertoire courant avec des noms de fichiers de la forme winsockcataloglogfile_000001.etl
La commande suivante met fin au suivi Winsock mentionné ci-dessus sur un ordinateur pour la session nommée "mysession" :
logman stop -ets mywinsockcatalogsession
Un fichier journal binaire est écrit à l’emplacement spécifié par le paramètre –o. Pour traduire le fichier binaire en fichier texte lisible, tracerpt.exe est utilisé :
tracerpt.exe <nom du fichier .etl> –o winsockcatalogtracelog.txt
Si un fichier de sortie contenant du xml plutôt que du texte brut est préféré, la commande suivante est utilisée :
tracerpt.exe <nom du fichier .etl> –o winsockcatalogtracelog.xml –of xml
Utilisation de l’Observateur d’événements pour démarrer le suivi d’événements Winsock Network
Lorsque vous ouvrez l’Observateur d’événements, le volet gauche contient la liste des événements. Ouvrez les journaux des applications et des services et naviguez jusqu'à Microsoft\Windows\L'événement réseau Winsock en tant que source et sélectionnez Opérationnel.
Dans le volet Action, sélectionnez Propriétés du journal et cochez la case Activer la journalisation. Une fois la journalisation activée, vous pouvez également modifier la taille du fichier journal si nécessaire.
Le suivi des événements réseau Winsock est désormais activé et tout ce que vous devez faire est d’atteindre l’action Actualiser pour mettre à jour la liste des événements qui ont été enregistrés. Pour arrêter la journalisation, décochez simplement le même bouton radio.
Vous devrez peut-être augmenter la taille du journal en fonction du nombre d’événements que vous souhaitez voir. L’un des inconvénients de l’utilisation de l’Observateur d’événements pour le suivi Winsock est qu’il ne charge pas toutes les ressources de chaîne afin que les messages affichés dans le champ Description (une fois que vous avez sélectionné un événement) soient parfois difficiles à lire (un argument qui doit être mis en forme comme hexadécimal s’affiche en décimale, par exemple). Toutefois, vous pouvez sélectionner l’onglet Détails dans la description de l’événement, qui affiche l’entrée de journal XML brute, laquelle contient généralement des arguments plus faciles à comprendre.
Utilisation de l’Observateur d’événements pour démarrer le suivi des modifications du catalogue Winsock
Lorsque vous ouvrez l’Observateur d’événements, le volet gauche contient la liste des événements. Ouvrez Applications and Services Logs et naviguez jusqu'à MicrosoftWindowsWinsock Catalog Change en tant que source et sélectionnez Operational.
Dans le volet Action, sélectionnez Propriétés du journal et cochez la case Activer la journalisation. Une fois la journalisation activée, vous pouvez également modifier la taille du fichier journal si nécessaire.
Le suivi des modifications du catalogue Winsock est désormais activé, et tout ce que vous devez faire est d'utiliser l'option 'Actualiser' pour mettre à jour la liste des événements qui ont été enregistrés. Pour arrêter la journalisation, décochez simplement le même bouton radio.
Vous devrez peut-être augmenter la taille du journal en fonction du nombre d’événements que vous souhaitez voir. L’un des inconvénients de l’utilisation de l’Observateur d’événements pour le suivi Winsock est qu’il ne charge pas toutes les ressources de chaîne afin que les messages affichés dans le champ Description (une fois que vous avez sélectionné un événement) soient parfois difficiles à lire (un argument qui doit être mis en forme comme hexadécimal s’affiche en décimale, par exemple). Toutefois, vous pouvez sélectionner l’onglet Détails dans la description de l’événement, qui affiche l’entrée de journal XML brute contenant généralement des arguments plus faciles à comprendre.
Interprétation des logs de traçage Winsock
Tous les événements de traçage Winsock dans un journal contiennent deux types d'informations :
- Système
- EventData
Les informations système contiennent le niveau de journalisation, l’heure de création de l’entrée du journal, l’ID d’événement qui représente le type d’événement, l’ID du processus d’exécution, l’ID de thread d’exécution et d’autres informations système. Un niveau de journal de 4 dans le traçage Winsock représente la journalisation des événements d'information. Un niveau de journal de 5 dans le traçage Winsock représente la journalisation d'événements détaillés.
L’ID de processus d’exécution et l’ID de thread dans les informations système indiquent le processus et le thread en cours d’exécution lors de l’événement. Dans de nombreux cas, cela représente un thread et un processus de noyau ou de travail, et non pas un thread en mode utilisateur et le processus de l’application. Ce champ n’est donc normalement pas très utile.
Chaque type d’événement de suivi Winsock a un ID d’événement unique dans la section système des données journalisées. Ces ID d’événement peuvent facilement être utilisés pour filtrer un fichier journal pour des événements de suivi Winsock spécifiques.
Les données d’événement contiennent des informations spécifiques au type d’événement.
Le paramètre Process dans les informations eventdata est l’adresse de structure EPROCESS du noyau pour le processus, et non le PID réel. Pour faire correspondre un événement au PID du mode utilisateur, prenez la valeur Process dans les informations eventdata de n'importe quelle entrée du journal et recherchez plus tôt dans le journal un événement de création de socket avec la valeur Process. Une fois qu’une correspondance est trouvée, le dernier paramètre des données d’événement de création de socket est l’ID de processus en mode utilisateur qui a créé le socket.
Un paramètre Adresse dans les informations eventdata est renvoyé dans certains événements de traçage Winsock. Un paramètre Address représente une adresse IP, mais elle est affichée dans le fichier texte créé par l’outil tracerpt.exe ou dans l’Observateur d’événements sous forme d’octets bruts ou d’un nombre. Les adresses IPv6 sont affichées en hexadécimal, de sorte qu’elles sont plus facilement comprises. Les adresses IPv4 sont affichées sous la forme d’un grand nombre décimal. Les développeurs devront convertir manuellement les octets bruts d’une adresse IPv4 en notation d’adresse en pointillé IPv4 plus familière pour mieux interpréter la valeur.
Un paramètre d’erreur dans les données d’événements est retourné lors de certains événements de traçage Winsock. Un paramètre Error se présente sous la forme d’un code d’erreur NTSTATUS ou HRESULT. Ce paramètre d’erreur s’affiche dans le fichier texte créé par l’outil tracerpt.exe ou dans l’Observateur d’événements sous la forme d’un nombre décimal. Les développeurs devront convertir manuellement le nombre décimal en nombre hexadécimal pour mieux interpréter le code d’erreur dans certains cas.