Portmon voor Windows v3.03

Door Mark Russinovich

Gepubliceerd: 12 januari 2012

DownloadPortmon(226 KB) downloaden
Nu uitvoeren vanuit Sysinternals Live.

Introductie

Portmon is een hulpprogramma dat alle seriële en parallelle poortactiviteit op een systeem bewaakt en weergeeft. Het heeft geavanceerde filter- en zoekmogelijkheden waarmee het een krachtig hulpprogramma is voor het verkennen van de manier waarop Windows werkt, te zien hoe toepassingen poorten gebruiken of problemen in systeem- of toepassingsconfiguraties bijhouden.

Portmon 3.x

Versie 3.x van Portmon markeert de introductie van een aantal krachtige functies.

  • Externe bewaking: Leg kernelmodus- en/of Win32-foutopsporingsuitvoer vast vanaf elke computer die toegankelijk is via TCP/IP, zelfs via internet. U kunt meerdere externe computers tegelijk bewaken. Portmon installeert zelfs de clientsoftware zelf als u deze uitvoert op een Windows NT/2K-systeem en vastlegt vanaf een ander Windows NT/2K-systeem in dezelfde netwerkwijk.
  • Meest recente filterlijsten: Portmon is uitgebreid met krachtige filtermogelijkheden en onthoudt uw meest recente filterselecties, met een interface waarmee u ze eenvoudig opnieuw kunt selecteren.
  • Klembord kopiëren: Selecteer meerdere regels in het uitvoervenster en kopieer de inhoud ervan naar het klembord.
  • Markeren: Markeer de foutopsporingsuitvoer die overeenkomt met uw markeringsfilter en pas zelfs de markeringskleuren aan.
  • Logboek-naar-bestand: Schrijf uitvoer van foutopsporing naar een bestand terwijl het wordt vastgelegd.
  • Afdrukken: druk alle of een deel van vastgelegde foutopsporingsuitvoer af op een printer.
  • Nettolading van één bestand: Portmon is nu geïmplementeerd als één bestand.

In het on-line Help-bestand worden al deze functies en meer in detail beschreven.

PortMon screenshot

Installatie en gebruik

Voer gewoon het Portmon-programmabestand (portmon.exe) uit en Portmon begint onmiddellijk met het vastleggen van foutopsporingsuitvoer. Als u Portmon wilt uitvoeren in Windows 95, moet u de WinSock2-update van Microsoft ophalen. Houd er rekening mee dat als u Portmon uitvoert op Windows NT/2K portmon.exe zich op een niet-netwerkstation bevindt en u over beheerdersbevoegdheden moet beschikken. Menu's, sneltoetsen of werkbalkknoppen kunnen worden gebruikt om het venster te wissen, de bewaakte gegevens op te slaan in een bestand, uitvoer te zoeken, het lettertype van het venster te wijzigen en meer. In de on-line Help worden alle functies van Portmon beschreven.

Portmon begrijpt alle I/O-opdrachten (Serial and Parallel Port I/O Control) en geeft deze samen met interessante informatie over de bijbehorende parameters weer. Voor lees- en schrijfaanvragen geeft Portmon de eerste tientallen bytes van de buffer weer met '.' om niet-afdrukbare tekens weer te geven. Met de menuoptie Hex weergeven kunt u schakelen tussen ASCII en onbewerkte hexuitvoer van buffergegevens.

Hoe het werkt: WinNT

De portmon-GUI is verantwoordelijk voor het identificeren van seriële en parallelle poorten. Dit doet u door de seriële poorten te inventariseren die zijn geconfigureerd onder HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm en de parallelle poorten die zijn gedefinieerd onder HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallelle poorten. Deze sleutels bevatten de toewijzingen tussen de namen van seriële en parallelle poortapparaten en de win32-toegankelijke namen.

Wanneer u een poort selecteert die moet worden bewaakt, verzendt Portmon een aanvraag naar het apparaatstuurprogramma met de NT-naam (bijvoorbeeld \device\serial0) waarin u geïnteresseerd bent. Het stuurprogramma gebruikt standaardfilter-API's om een eigen filterapparaatobject te koppelen aan het doelapparaatobject. Eerst wordt ZwCreateFile gebruikt om het doelapparaat te openen. Vervolgens wordt de ingang die het ontvangt van ZwCreateFile omgezet in een apparaatobjectpointer. Nadat het eigen filterapparaatobject is gemaakt dat overeenkomt met de kenmerken van het doel, roept het stuurprogramma IoAttachDeviceByPointer aan om het filter tot stand te brengen. Vanaf dat moment ziet het Portmon-stuurprogramma alle aanvragen die zijn gericht op het doelapparaat.

Portmon heeft ingebouwde kennis van alle standaard seriële en parallelle poort-IOCTL's. Dit is de primaire manier waarop toepassingen en stuurprogramma's statusinformatie van poorten configureren en lezen. De IOCTLs worden gedefinieerd in het DDK-bestand \ddk\src\comm\inc\ntddser.h en \ddk\src\comm\inc\ntddpar.h, en sommige worden beschreven in de DDK.

Hoe het werkt: Windows 95 en 98

In Windows 95 en 98 is de portmon-GUI afhankelijk van een dynamisch geladen VxD om seriële en parallelle activiteit vast te leggen. Het Windows VCOMM-apparaatstuurprogramma (Virtual Communications) fungeert als de interface voor parallelle en seriële apparaten, zodat toepassingen die indirect toegang hebben tot poorten gebruikmaken van de services. Portmon VxD maakt gebruik van standaard VxD-servicekoppeling om alle toegang tot de functies van VCOMM te onderscheppen. Net als het NT-apparaatstuurprogramma interpreteert portmon's VxD aanvragen om ze in een beschrijvende indeling weer te geven. In Windows 95 en 98 Portmon worden alle poorten bewaakt, zodat er geen poortselectie is zoals op NT.

DownloadPortmon(226 KB) downloaden

Nu uitvoeren vanuit Sysinternals Live.