Portmon pour Windows v3.03

Par Mark Russinovich

Publication : 12 janvier 2012

TéléchargerPortmon(226 Ko)
Exécutez maintenant à partir de Sysinternals Live.

Introduction

Portmon est un utilitaire qui surveille et affiche toutes les activités de port série et parallèle sur un système. Il dispose de fonctionnalités avancées de filtrage et de recherche qui en font un outil puissant pour explorer le fonctionnement de Windows, voir comment les applications utilisent des ports ou suivre les problèmes dans les configurations système ou d’application.

Portmon 3.x

La version 3.x de Portmon marque l’introduction d’un certain nombre de fonctionnalités puissantes.

  • Supervision à distance : Capturez le mode noyau et/ou la sortie de débogage Win32 à partir de n’importe quel ordinateur accessible via TCP/IP, même sur Internet. Vous pouvez surveiller plusieurs ordinateurs distants simultanément. Portmon installe même son logiciel client lui-même si vous l’exécutez sur un système Windows NT/2K et que vous capturez à partir d’un autre système Windows NT/2K dans le même voisinage réseau.
  • Listes de filtres les plus récentes :Portmon a été étendu avec des fonctionnalités de filtrage puissantes et il mémorise vos sélections de filtre les plus récentes, avec une interface qui facilite la resélection.
  • Copie du Presse-papiers : Sélectionnez plusieurs lignes dans la fenêtre de sortie et copiez leur contenu dans le Presse-papiers.
  • Soulignant: Mettez en surbrillance la sortie de débogage qui correspond à votre filtre de mise en surbrillance et personnalisez même les couleurs de surbrillance.
  • Fichier journal : Écrivez la sortie de débogage dans un fichier en cours de capture.
  • Impression: Imprimez l’intégralité ou une partie de la sortie de débogage capturée sur une imprimante.
  • Charge utile d’un fichier :Portmon est désormais implémenté en tant que fichier unique.

Le fichier d’aide en ligne décrit toutes ces fonctionnalités, et plus en détail.

Capture d’écran de PortMon

Installation et utilisation

Exécutez simplement le fichier de programme Portmon (portmon.exe) et Portmon démarre immédiatement la capture de la sortie de débogage. Pour exécuter Portmon sur Windows 95, vous devez obtenir la mise à jour WinSock2 de Microsoft. Notez que si vous exécutez Portmon sur Windows NT/2K portmon.exe doit se trouver sur un lecteur autre que réseau et que vous devez disposer de privilèges d’administration. Les menus, les touches d’accès rapide ou les boutons de barre d’outils peuvent être utilisés pour effacer la fenêtre, enregistrer les données surveillées dans un fichier, effectuer une recherche, modifier la police de la fenêtre, etc. L’aide en ligne décrit toutes les fonctionnalités de Portmon .

Portmon comprend toutes les commandes de contrôle d’E/S de port série et parallèle (IOCTLs) et les affiche avec des informations intéressantes concernant leurs paramètres associés. Pour les demandes de lecture et d’écriture , Portmon affiche les dix premiers octets de la mémoire tampon, en utilisant « . » pour représenter des caractères non imprimables. L’option de menu Show Hex vous permet de basculer entre ascii et sortie hexadécimal brute des données de mémoire tampon.

Fonctionnement : WinNT

L’interface graphique utilisateur portmon est chargée d’identifier les ports série et parallèle. Elle le fait en énumérant les ports série configurés sous HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm et les ports parallèles définis sous HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. Ces clés contiennent les mappages entre les noms de périphériques de port série et parallèle et les noms accessibles par Win32.

Lorsque vous sélectionnez un port à surveiller, Portmon envoie une demande à son pilote de périphérique qui inclut le nom NT (par exemple, \device\serial0) qui vous intéresse. Le pilote utilise des API de filtrage standard pour attacher son propre objet de périphérique de filtre à l’objet d’appareil cible. Tout d’abord, il utilise ZwCreateFile pour ouvrir l’appareil cible. Ensuite, il convertit le handle qu’il reçoit de ZwCreateFile en pointeur d’objet d’appareil. Après avoir créé son propre objet d’appareil de filtre qui correspond aux caractéristiques de la cible, le pilote appelle IoAttachDeviceByPointer pour établir le filtre. À partir de ce stade, le pilote Portmon verra toutes les demandes destinées à l’appareil cible.

Portmon a une connaissance intégrée de tous les iocTLs de port série et parallèle standard, qui sont la principale façon dont les applications et les pilotes configurent et lisent les informations d’état à partir des ports. Les IOCTL sont définis dans le fichier DDK \ddk\src\comm\inc\ntddser.h et \ddk\src\comm\inc\ntddpar.h, et certains sont documentés dans le DDK.

Fonctionnement : Windows 95 et 98

Sur Windows 95 et 98, l’interface utilisateur graphique portmon s’appuie sur un VxD chargé dynamiquement pour capturer l’activité série et parallèle. Le pilote de périphérique Windows VCOMM (Virtual Communications) sert d’interface aux appareils parallèles et série, afin que les applications qui accèdent indirectement aux ports utilisent ses services. Le VxD Portmon utilise le raccordement de service VxD standard pour intercepter tous les accès aux fonctions de VCOMM. Comme son pilote de périphérique NT, le VxD de Portmon interprète les requêtes pour les afficher dans un format convivial. Sur Windows 95 et 98 Portmon surveille tous les ports, il n’existe donc aucune sélection de port comme sur NT.

TéléchargerPortmon(226 Ko)

Exécutez maintenant à partir de Sysinternals Live.