Hemsida » skola » Förstå Process Monitor

    Förstå Process Monitor

    Idag i den här utgåvan av Geek School kommer vi att lära dig om hur verktyget Process Monitor låter dig kika under huven och se vilka dina favoritprogram verkligen gör bakom kulisserna - vilka filer de åtkomst till, registernycklarna de använd och mer.

    SCHOOL NAVIGATION
    1. Vad är SysInternals Tools och hur använder du dem?
    2. Förstå Process Explorer
    3. Använda Process Explorer för att felsöka och diagnostisera
    4. Förstå Process Monitor
    5. Använda Process Monitor för att felsöka och hitta registerhackar
    6. Använda Autoruns att hantera startprocesser och skadlig kod
    7. Använda BgInfo för att visa systeminformation på skrivbordet
    8. Använda PsTools för att styra andra datorer från kommandoraden
    9. Analysera och hantera dina filer, mappar och enheter
    10. Förpackning och användning av verktygen tillsammans

    Till skillnad från Process Explorer-verktyget som vi har spenderat några dagar täcker Process Monitor att vara ett passivt utseende på allt som händer på din dator, inte ett aktivt verktyg för att döda processer eller stänga handtag. Det här är som att titta på en global loggfil för varje enskild händelse som händer på din Windows-dator.

    Vill du förstå vilka registernycklar din favoritprogram faktiskt lagrar sina inställningar i? Vill du ta reda på vilka filer en tjänst berör och hur ofta? Vill du se när en applikation ansluter till nätverket eller öppnar en ny process? Det är Process Monitor till undsättning.

    Vi gör inte längre registerhackartiklar längre, men tillbaka när vi började började vi använda Process Monitor för att ta reda på vilka registernycklar som var tillgängliga, och sedan ändra de registernycklarna för att se vad som skulle hända. Om du någonsin har undrat hur någon näve fanns en registerhack som ingen någonsin har sett, var det förmodligen genom Process Monitor.

    Process Monitor-verktyget skapades genom att kombinera två olika gamla skolans verktyg tillsammans, Filemon och Regmon, som användes för att övervaka filer och registeraktivitet som deras namn innebär. Medan dessa verktyg fortfarande är tillgängliga där, och medan de passar dina specifika behov, skulle du vara mycket bättre med Process Monitor, eftersom det kan hantera en stor volym av händelser bättre på grund av att det var utformat för att göra det.

    Det är också värt att notera att Process Monitor alltid kräver administratörsläge eftersom det laddar en kärnförare under huven för att fånga alla dessa händelser. I Windows Vista och senare får du en UAC-dialog, men för XP eller 2003 måste du kontrollera att det konto du använder har administratörsbehörigheter.

    Händelserna som Process Monitor övervakar

    Process Monitor fångar massor av data, men det tar inte upp varje sak som händer på datorn. Exempelvis bryr Process Monitor inte om du flyttar musen och vet inte om drivrutinerna fungerar optimalt. Det kommer inte att spåra vilka processer som är öppna och slösa bort CPU på din dator - det är jobbet av Process Explorer trots allt.

    Vad det gör är att fånga specifika typer av I / O (Input / Output) -operationer, oavsett om de händer via filsystemet, registret eller till och med nätverket. Det kommer dessutom att spåra några andra händelser på ett begränsat sätt. Denna lista täcker händelserna som den tar upp:

    • Register - Det här kan skapa nycklar, läsa dem, radera dem eller fråga dem. Du kommer bli förvånad hur ofta det händer.
    • Filsystem - Det här kan vara fil skapande, skrivning, radering, etc, och det kan vara både för lokala hårddiskar och nätverksenheter.
    • Nätverk - Detta kommer att visa källan och destinationen för TCP / UDP-trafik, men tyvärr visar den inte data, vilket gör den lite mindre användbar.
    • Bearbeta - Det här är händelser för processer och trådar där en process startas, en tråd startar eller utgångar etc. Det här kan vara användbar information i vissa fall men det är ofta något du vill titta på i Process Explorer istället.
    • profilering - Dessa händelser fångas av Process Monitor för att kontrollera hur mycket processortid som används av varje process och minnesanvändningen. Återigen skulle du förmodligen vilja använda Process Explorer för att spåra dessa saker mesteparten av tiden, men det är användbart här om du behöver det.

    Så Process Monitor kan fånga alla typer av I / O-operationer, oavsett om det händer via registret, filsystemet eller till och med nätverket - även om de faktiska data som skrivs inte fångas. Vi tittar bara på det faktum att en process skriver till en av dessa strömmar, så vi kan senare räkna ut mer om vad som händer.

    Process Monitor Interface

    När du först laddar upp gränssnittet Process Monitor kommer du att presenteras med ett enormt antal rader med data, med mer data som flyger snabbt, och det kan vara överväldigande. Nyckeln är att ha en aning åtminstone om vad du tittar på, såväl som vad du letar efter. Det här är inte den typ av verktyg som du spenderar en avkopplande dag på att bläddra igenom, för inom en mycket kort tidsperiod ser du på miljoner rader.

    Det första du vill göra är att filtrera de miljontals raderna ner till den mycket mindre delmängden data du vill se och vi ska lära dig hur du skapar filter och noll in på exakt vad du vill hitta . Men först bör du förstå gränssnittet och vilka data som faktiskt är tillgängliga.

    Titta på standardkolumnerna

    Standardkolumnerna visar massor av användbar information, men du behöver definitivt ett sammanhang för att förstå vad data varje innehåller, för vissa kan se ut som något dåligt hände när de verkligen är oskyldiga händelser som händer hela tiden under huva. Här är vad var och en av standardkolumnerna används för:

    • Tid - denna kolumn är ganska självförklarande, den visar den exakta tiden som en händelse inträffade.
    • Process namn - namnet på processen som genererade händelsen. Detta visar inte hela sökvägen till filen som standard, men om du sveper över fältet kan du se exakt vilken process det var.
    • PID - Process-ID för processen som genererade händelsen. Det här är mycket användbart om du försöker förstå vilken svchost.exe-process som genererade händelsen. Det är också ett bra sätt att isolera en enda process för övervakning, förutsatt att processen inte startar om sig själv.
    • Drift - Det här är namnet på operationen som loggas och det finns en ikon som matchar en av händelsetyperna (register, fil, nätverk, process). Dessa kan vara lite förvirrande, som RegQueryKey eller WriteFile, men vi försöker hjälpa dig genom förvirringen.
    • Väg - Detta är inte processens väg, det är vägen till vad som arbetades på av denna händelse. Om det till exempel fanns en WriteFile-händelse, kommer det här fältet att visas namnet på filen eller mappen som berörs. Om det här var en registerhändelse skulle det visa att hela nyckeln nås.
    • Resultat - Detta visar resultatet av operationen, som kodar som SUCCESS eller ACCESS DENIED. Medan du kanske är frestad att automatiskt anta att en BUFFER TOO SMALL betyder att något är riktigt dåligt, så är det egentligen inte fallet för det mesta.
    • Detalj - Ytterligare information som ofta inte översätts till den vanliga felsökningsvärlden i världen.

    Du kan också lägga till några ytterligare kolumner till standardvisningen genom att gå till Alternativ -> Välj kolumner. Det här är inte vår rekommendation för ditt första stopp när du börjar testa, men eftersom vi förklarar kolumner är det värt att nämna redan.

    En av anledningarna till att lägga till ytterligare kolumner på skärmen är så att du snabbt kan filtrera efter de händelserna utan att bli överväldigad med data. Här är några av de extra kolumnerna vi använder, men du kan hitta användningen för vissa andra i listan beroende på situationen.

    • Kommandorad - medan du kan dubbelklicka på någon händelse för att se kommandoradsargumenten för processen som genererade varje händelse kan det vara användbart att snabbt se alla alternativen.
    • Företagsnamn - Huvudskälet till att den här kolumnen är användbar är att du helt enkelt kan utesluta alla Microsoft-händelser snabbt och begränsa din övervakning till allt annat som inte ingår i Windows. (Du vill se till att du inte har några konstiga rundll32.exe-processer som körs med Process Explorer men eftersom de kunde dölja skadlig kod).
    • Föräldrars PID - Det här kan vara mycket användbart när du felsöker en process som innehåller många barnprocesser, som en webbläsare eller ett program som fortsätter att starta sketchy saker som en annan process. Du kan sedan filtrera genom föräldrars PID för att se till att du fångar allt.

    Det är värt att notera att du kan filtrera efter kolumndata även om kolumnen inte visas, men det är mycket lättare att högerklicka och filtrera än att manuellt göra det. Och ja, vi nämnde filter igen, även om vi inte har förklarat dem ännu.

    Undersöka en enda händelse

    Att se saker i en lista är ett bra sätt att snabbt se många olika datapunkter samtidigt, men det är definitivt inte det enklaste sättet att granska en enda data, och det finns bara så mycket information som du kan se i lista. Tack och lov kan du dubbelklicka på varje händelse för att få tillgång till en skattkista av extra information.

    Standardhändelsefliken ger dig information som i stor utsträckning liknar vad du såg i listan, men lägger till lite mer information till festen. Om du tittar på en filsystemhändelse kan du se viss information som attribut, fil skapa tid, åtkomst som försökades under en skrivoperation, antalet byte som skrivits och varaktigheten.

    Byter till fliken Process ger dig mycket bra information om processen som genererade händelsen. Medan du i allmänhet vill använda Process Explorer för att hantera processer kan det vara mycket användbart att ha mycket information om den specifika processen som genererade en specifik händelse, särskilt om det är något som hände mycket snabbt och sedan försvunnit från processlista. På så vis fångas data.

    Fliken Stack är något som ibland kan vara extremt användbart, men ofta kommer det inte att vara användbart alls. Anledningen till att du vill titta på stacken är så att du kan felsöka genom att kolla modulkolonnen för allt som inte ser rätt ut.

    Tänk för exempel att en process ständigt försökte fråga eller få tillgång till en fil som inte existerar, men du var inte säker på varför. Du kan titta på fliken Stack och se om det fanns moduler som inte såg rätt ut och sedan undersöka dem. Det kan hända att du hittar en föråldrad komponent, eller till och med skadlig kod, orsakar problemet.

    Eller kanske du tycker att det inte är något användbart här för dig, och det är bara bra också. Det finns många andra data att titta på.

    Anmärkningar om buffertöverflöden

    Innan vi fortsätter vidare, kommer vi att vilja notera en resultatkod som du kommer att börja se mycket på listan, och baserat på hela din geekkunskap hittills kanske du kanske känner lite av. Så om du börjar se BUFFER OVERFLOW i listan, vänligen anta inte att någon försöker hacka din dator.

    Nästa sida: Filtrera data som Process Monitor överför