Läs på engelska

Dela via


Portmon v3.03

Av Mark Russinovich

Publicerad: 12 januari 2012

Ladda nedLadda ned Portmon (226 KB)
Kör nu från Sysinternals Live.

Introduktion

Portmon är ett verktyg som övervakar och visar all seriell och parallell portaktivitet i ett system. Den har avancerade filtrerings- och sökfunktioner som gör den till ett kraftfullt verktyg för att utforska hur Windows fungerar, se hur program använder portar eller spåra problem i system- eller programkonfigurationer.

Portmon 3.x

Version 3.x av Portmon markerar införandet av ett antal kraftfulla funktioner.

  • Fjärrövervakning: Avbilda kernelläge och/eller Win32-felsökningsutdata från alla datorer som är tillgängliga via TCP/IP – även via Internet. Du kan övervaka flera fjärrdatorer samtidigt. Portmon installerar till och med själva klientprogramvaran om du kör den på ett Windows NT/2K-system och samlar in från ett annat Windows NT/2K-system i samma nätverksområde.
  • De senaste filterlistorna:Portmon har utökats med kraftfulla filtreringsfunktioner och kommer ihåg dina senaste filterval, med ett gränssnitt som gör det enkelt att avmarkera dem igen.
  • Urklippskopiering: Välj flera rader i utdatafönstret och kopiera innehållet till Urklipp.
  • Markering: Markera felsökningsutdata som matchar markeringsfiltret och anpassa även markeringsfärgerna.
  • Logg-till-fil: Skriv felsökningsutdata till en fil när den registreras.
  • Utskrift: Skriv ut hela eller en del av insamlade felsökningsutdata till en skrivare.
  • Enfilsnyttolast:Portmon implementeras nu som en fil.

Den onlinebaserade hjälpfilen beskriver alla dessa funktioner och mer i detalj.

PortMon-skärmbild

Installation och användning

Kör bara Portmon-programfilen (portmon.exe) och Portmon börjar omedelbart samla in felsökningsutdata. Om du vill köra Portmon på Windows 95 måste du hämta WinSock2-uppdateringen från Microsoft. Observera att om du kör Portmon på Windows NT/2K portmon.exe måste finnas på en enhet som inte är en nätverksenhet och du måste ha administratörsbehörighet. Menyer, snabbtangenter eller verktygsfältsknappar kan användas för att rensa fönstret, spara övervakade data i en fil, söka efter utdata, ändra fönsterteckensnittet med mera. Onlinehjälpen beskriver alla Portmons funktioner.

Portmon förstår alla IOCTLs-kommandon (IOCTLs) för seriell och parallell port och visar dem tillsammans med intressant information om deras associerade parametrar. För läs- och skrivbegäranden visar Portmon de första flera dussin byteen av bufferten med hjälp av "." för att representera icke-utskrivbara tecken. Med menyalternativet Visa hex kan du växla mellan ASCII och råa hexutdata från buffertdata.

Så här fungerar det: WinNT

Portmon GUI ansvarar för att identifiera serie- och parallellportar. Det gör den genom att räkna upp de serieportar som är konfigurerade under HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm och de parallella portar som definieras under HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. De här nycklarna innehåller mappningarna mellan seriellt och parallellt portenhetsnamn och Win32-tillgängliga namn.

När du väljer en port att övervaka skickar Portmon en begäran till sin enhetsdrivrutin som innehåller det NT-namn (t.ex. \device\serial0) som du är intresserad av. Drivrutinen använder standardfiltrerings-API:er för att koppla sitt eget filterenhetsobjekt till målenhetsobjektet. Först använder den ZwCreateFile för att öppna målenheten. Sedan översätts handtaget som det tar emot tillbaka från ZwCreateFile till en pekare för enhetsobjekt. När du har skapat ett eget filterenhetsobjekt som matchar målets egenskaper anropar drivrutinen IoAttachDeviceByPointer för att upprätta filtret. Från och med då ser Portmon-drivrutinen alla begäranden som riktas till målenheten.

Portmon har inbyggd kunskap om alla standardserie- och parallellport-IOCTL:er, vilket är det primära sättet för program och drivrutiner att konfigurera och läsa statusinformation från portar. IOCTLs definieras i DDK-filen \ddk\src\comm\inc\ntddser.h och \ddk\src\comm\inc\ntddpar.h, och vissa dokumenteras i DDK.

Så här fungerar det: Windows 95 och 98

I Windows 95 och 98 förlitar sig Portmon GUI på en dynamiskt inläst VxD för att samla in seriell och parallell aktivitet. Enhetsdrivrutinen för Windows VCOMM (Virtual Communications) fungerar som gränssnitt till parallella och seriella enheter, så program som får åtkomst till portar använder indirekt sina tjänster. Portmon VxD använder standard-VxD-tjänstanslutning för att fånga upp alla åtkomster till VCOMM:s funktioner. Precis som NT-enhetsdrivrutinen tolkar Portmons VxD begäranden om att visa dem i ett eget format. På Windows 95 och 98 Övervakar Portmon alla portar så att det inte finns något val av port som på NT.

Ladda nedLadda ned Portmon (226 KB)

Kör nu från Sysinternals Live.