Portmon für Windows v3.03

Von Mark Russinovich

Veröffentlicht am: 12 Januar 2012

DownloadPortmon herunterladen(226 KB)
Führen Sie jetzt aus Sysinternals Live aus.

Einführung

Portmon ist ein Hilfsprogramm, das alle Aktivitäten des seriellen und parallelen Ports auf einem System überwacht und anzeigt. Es verfügt über erweiterte Filter- und Suchfunktionen, die es zu einem leistungsstarken Tool machen, um die Funktionsweise von Windows zu erkunden, die Verwendung von Ports durch Anwendungen anzuzeigen oder Probleme in System- oder Anwendungskonfigurationen nachzuverfolgen.

Portmon 3.x

Mit Version 3.x von Portmon wurde eine Reihe leistungsstarker Funktionen eingeführt.

  • Remoteüberwachung: Erfassen Sie die Debugausgabe im Kernelmodus und/oder in Win32 auf jedem Computer, auf den über TCP/IP – sogar über das Internet – zugegriffen werden kann. Sie können mehrere Remotecomputer gleichzeitig überwachen. Portmon installiert sogar die zugehörige Clientsoftware, wenn Sie sie auf einem Windows NT-/2K-System ausführen und die Erfassung von einem anderen Windows NT/2K-System in derselben Netzwerkumgebung aus durchführen.
  • Listen der neuesten Filter:Portmon wurde um leistungsstarke Filterfunktionen erweitert und speichert Ihre letzten Filterauswahlen – mit einer Schnittstelle, über die Sie sie auf einfache Weise erneut auswählen können.
  • Kopieren der Zwischenablage: Wählen Sie im Ausgabefenster mehrere Zeilen aus, und kopieren Sie deren Inhalt in die Zwischenablage.
  • Hervorhebung: Markieren Sie die Debugausgabe, die Ihrem Hervorhebungsfilter entspricht, und passen Sie sogar die Hervorhebungsfarben an.
  • In Datei protokollieren: Schreiben Sie die Debugausgabe in eine Datei, während sie erfasst wird.
  • Drucken: Drucken Sie die erfasste Debugausgabe ganz oder teilweise auf einem Drucker.
  • Nutzlast von einer Datei:Portmon wird jetzt als eine einzelne Datei implementiert.

In der Onlinehilfedatei werden alle diese Features und weitere ausführlich beschrieben.

PortMon screenshot

Installation und Nutzung

Führen Sie einfach die Portmon-Programmdatei (portmon.exe) aus, und Portmon beginnt sofort mit der Erfassung der Debugausgabe. Zum Ausführen von Portmon unter Windows 95 müssen Sie das WinSock2-Update von Microsoft beziehen. Beachten Sie, dass sich beim Ausführen von Portmon unter Windows NT/2K „portmon.exe“ auf einem Laufwerk befinden muss, das kein Netzwerklaufwerk ist, und Sie über Administratorrechte verfügen müssen. Mithilfe von Menüs, Tastenkombinationen oder Symbolleistenschaltflächen können Sie das Fenster löschen, die überwachten Daten in einer Datei speichern, die Ausgabe durchsuchen, die Schriftart des Fensters ändern und weitere Aufgaben ausführen. In der Onlinehilfe werden alle Features von Portmon beschrieben.

Portmon versteht alle Befehle der E/A-Steuerung (IOCTLs) für serielle und parallele Ports und zeigt diese zusammen mit interessanten Informationen zu den zugehörigen Parametern an. Für Lese- und Schreibanforderungen zeigt Portmon die ersten paar Dutzend Bytes des Puffers an. Dabei wird „.“ für die Darstellung nicht druckbarer Zeichen verwendet. Mit der Menüoption zum Anzeigen von Hexadezimalwerten können Sie zwischen der ASCII-Ausgabe und der unformatierten Hexadezimalausgabe von Pufferdaten umschalten.

Funktionsweise: WinNT

Über die GUI von Portmon werden serielle und parallele Ports identifiziert. Dazu werden die unter „HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm“ konfigurierten seriellen Ports und die unter „HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports“ definierten parallelen Ports aufgelistet. Diese Schlüssel enthalten die Zuordnungen zwischen den Namen der Geräte mit seriellen und parallelen Ports und die Namen, auf die mit Win32 zugegriffen werden kann.

Wenn Sie einen zu überwachenden Port auswählen, sendet Portmon eine Anforderung an den Gerätetreiber, die den für Sie interessanten NT-Namen (z. B. \device\serial0) enthält. Der Treiber verwendet Standardfilter-APIs, um ein eigenes Filtergeräteobjekt an das Zielgeräteobjekt anzufügen. Zunächst wird ZwCreateFile verwendet, um das Zielgerät zu öffnen. Anschließend wird das Handle, das von ZwCreateFile empfangen wird, in einen Geräteobjektzeiger übersetzt. Nach dem Erstellen eines eigenen Filtergeräteobjekts, das den Merkmalen des Ziels entspricht, ruft der Treiber IoAttachDeviceByPointer auf, um den Filter einzurichten. Ab diesem Zeitpunkt sieht der Portmon-Treiber alle Anforderungen, die für das Zielgerät bestimmt sind.

Portmon verfügt über integrierte Kenntnisse über alle Standard-IOCTLs für serielle und parallele Ports. Dies ist die primäre Methode, mit der Anwendungen und Treiber Statusinformationen von Ports konfigurieren und lesen. Die IOCTLs werden in der DDK-Datei „\ddk\src\comm\inc\ntddser.h“ und „\ddk\src\comm\inc\ntddpar.h“ definiert, und einige sind im DDK dokumentiert.

Funktionsweise: Windows 95 und 98

Unter Windows 95 und 98 basiert die GUI von Portmon auf einem dynamisch geladenen VxD, um serielle und parallele Aktivitäten zu erfassen. Der Windows VCOMM-Gerätetreiber (Virtual Communications) dient als Schnittstelle für parallele und serielle Geräte, sodass Anwendungen, die indirekt auf Ports zugreifen, die Dienste nutzen. Der VxD von Portmon verwendet standardmäßiges VxD-Diensthooking, um alle Zugriffe auf die Funktionen von VCOMM abzufangen. Wie der NT-Gerätetreiber interpretiert der VxD von Portmon Anforderungen, um sie in einem benutzerfreundlichen Format anzuzeigen. Unter Windows 95 und 98 überwacht Portmon alle Ports, sodass keine Portauswahl wie unter NT erfolgt.

DownloadPortmon herunterladen(226 KB)

Führen Sie jetzt aus Sysinternals Live aus.