Sysinternals: ProcMon – Filter

Hallo und herzlich willkommen zurück,

Heute möchte ich den Blog-Post zum ProcessMonitor fortführen: Link
Wir haben uns ja bereits mit der Oberfläche und den einzelnen Optionen beschäftigt die uns zur Verfügung standen – nun greifen wir den wohl wichtigsten Punkt auf, den ich damals auf später (also heute) verschoben habe: Die Filter.

Wie wir ja schon im Beispiel gesehen haben, produzierten mir 3 Sekunden Logging schon eine Liste von über 20.000 Events – dort nun die interessanten zu finden ist faktisch schlimmer als die Nadel im Heuhaufen. Daher haben wir, wie bereits angesprochen, fein justierbare Filter (Ctrl + L), die wir im ProcMon einsetzen können.

Die Maske ist in 2 Teile aufgegliedert: Oben können wir Filter definieren, unten werden die gesetzten Filter angezeigt.

Über die Listboxen in der oberen Hälfte haben wir viele Eigenschaften von Prozessen, nach denen wir unser Eventlog nach belieben Filtern können:

Architektur, Authentifikations-ID, Kategorie, Kommandozeile, Firma, Datum und Uhrzeit, Beschreibung, Details, Dauer, Ereignisklasse, Pfad zum Image, Integrität, Operation, ID des Aufrufenden Prozesses, Pfad, Prozess-ID, Prozessname, Relativer Name, Ergebnis, Sequenz, Session, TID, Tageszeit, User, Version, Virtualisiert oder nicht.

Damit erschlägt uns die erste Listbox mit einer Fülle von Kriterien aus denen wir eine wählen können. Die prominentesten habe ich bereits in rotmarkiert, natürlich ist immer im Einzelfall abzuwägen, welche Filter Sinn machen – und welche nicht.

Diese Eigenschaften können wir dann noch logisch mit dem Wert den wir vorgeben verknüpfen. Dabei stehen uns folgende Möglichkeiten zur Verfügung:

is, is not, less than, more than, begins with, ends with, contains, excludes.

Auch hier habe ich mir die Freiheit genommen, meine Favoriten mal in rot zu markieren. Aus den ersten beiden Listboxen können wir bereits einige logische Zusammenhänge bilden (z.B. Process Name is […] oder Result contains […]).
Die dritte Listbox ist prinzipiell offen für Usereingaben, d.h. man kann frei Hand Eingaben für seinen Filter tätigen. Eine sehr nützliche Funktion ist aber trotzdem enthalten, denn die Listbox schlägt vor, welche Einträge zu der jeweiligen Eigenschaft aus der ersten Listbox passen. Hier ein Beispielscreenshot:

Ich habe die Eigenschaft in der ersten Listbox auf PID (Prozess-ID) gestellt. Damit werden mir in der dritten Listbox alle PID’s angezeigt, die im aktuellen Log vorhanden sind – um Tippfehler auszuschließen, kann man seine PID direkt auswählen und übernehmen.
Die letzte  Listbox lässt uns noch zwischen Include und Exclude wählen. Hier gilt es immer zu bedenken, wie wir am leichtesten an die Events kommen, die uns interessieren. Schließen wir Schritt für Schritt Events aus, die nichts mit unserem Problem zu tun haben (Exclude) oder kommen wir leichter ans Ziel wenn wir einzelne Kriterien definieren, die wir dann ausschließlich im Eventlog sehen (Include).
Über den Klick auf Add wird der Filter bereits in die Tabelle am unteren Rand übernommen. Durch OK oder Apply werden dann die Filter auf das Log angewendet. Wie man bereits sehen kann, stehen von Beginn  an Filter in den Einstellungen des ProcessMonitors – diese filtern bereits LowLevel-Systemprozesse und beispielsweise Zugriffe auf die Auslagerungsdatei oder ähnliches. Die Filter können üblicherweise eingetragen und aktiviert bleiben – sollte man sich dennoch für die Ansicht aller Events interessieren, lässt sich das einfach über das Menü „Filter“ und „Enable Advanced Output“ konfigurieren. Der Schalter entfernt alle Filter, die beim Programmstart bereits gesetzt sind – und fügt sie wieder hinzu, wenn er deaktiviert wird.

Es sei dazu erwähnt, dass das Highlighten prinzipiell genauso funktioniert, nur einige Funktionen weniger zur Verfügung stehen.

Dieser Eintrag wurde veröffentlicht in IT. Lesezeichen auf den Permanentlink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert