Procesmonitor begrijpen
Vandaag zullen we je in deze editie van Geek School laten zien hoe je met het hulpprogramma Process Monitor onder de motorkap kunt kijken wat je favoriete programma's echt achter de schermen doen: welke bestanden ze gebruiken, de registersleutels die ze gebruiken gebruik en meer.
SCHOOLNAVIGATIE- Wat zijn de SysInternals-hulpmiddelen en hoe gebruikt u ze??
- Procesverkenner begrijpen
- Procesverkenner gebruiken om problemen op te lossen en te stellen
- Procesmonitor begrijpen
- Procesmonitor gebruiken om registerhacks op te sporen en te vinden
- Autoruns gebruiken om opstartprocessen en malware aan te pakken
- BGInfo gebruiken om systeeminformatie op het bureaublad weer te geven
- PsTools gebruiken om andere pc's vanaf de opdrachtregel te besturen
- Analyse en beheer van uw bestanden, mappen en stations
- Inpakken en de hulpmiddelen samen gebruiken
In tegenstelling tot het Process Explorer-hulpprogramma dat we een aantal dagen hebben behandeld, is Process Monitor bedoeld als een passieve blik op alles wat er op uw computer gebeurt, niet een actief hulpmiddel voor het doden van processen of het sluiten van handles. Dit is hetzelfde als een kijkje nemen in een globaal logbestand voor elke afzonderlijke gebeurtenis die plaatsvindt op uw Windows-pc.
Wilt u weten in welke registersleutels uw favoriete applicatie daadwerkelijk hun instellingen opslaat? Wilt u weten welke bestanden een service aanraken en hoe vaak? Wilt u zien wanneer een toepassing verbinding met het netwerk maakt of een nieuw proces opent? Het is Process Monitor om te redden.
We doen niet veel register-hackartikelen meer, maar toen we voor het eerst begonnen, gebruikten we Process Monitor om erachter te komen welke registersleutels werden gebruikt en vervolgens die registersleutels te wijzigen om te zien wat er zou gebeuren. Als je je ooit hebt afgevraagd hoe een of andere nerd een registerhack uitvond die nog nooit iemand heeft gezien, was dat waarschijnlijk via Process Monitor.
Het hulpprogramma Process Monitor is gemaakt door twee verschillende oude hulpprogramma's samen te combineren, Filemon en Regmon, die werden gebruikt om bestanden en registeractiviteit te controleren, zoals hun namen impliceren. Hoewel die hulpprogramma's nog steeds beschikbaar zijn en hoewel ze mogelijk aan uw specifieke behoeften voldoen, bent u veel beter af met Process Monitor, omdat het een groot aantal gebeurtenissen beter kan verwerken omdat het hiervoor is ontworpen.
Het is ook vermeldenswaard dat Process Monitor altijd de beheerdersmodus vereist, omdat het een kerneldriver onder de motorkap laadt om al deze gebeurtenissen vast te leggen. In Windows Vista en hoger wordt u om een UAC-dialoogvenster gevraagd, maar voor XP of 2003 moet u ervoor zorgen dat het account dat u gebruikt over beheerdersbevoegdheden beschikt.
De gebeurtenissen die monitoropnames verwerken
Process Monitor legt een hoop gegevens vast, maar legt niet vast wat er op uw pc gebeurt. Procesmonitor maakt het bijvoorbeeld niet uit als u uw muis beweegt en het weet niet of uw stuurprogramma's optimaal werken. Het gaat niet bijhouden welke processen open zijn en CPU verspillen op je computer - dat is tenslotte de taak van Process Explorer.
Wat het wel doet, is het vastleggen van specifieke soorten I / O (Input / Output) -bewerkingen, ongeacht of deze via het bestandssysteem, het register of zelfs via het netwerk gebeuren. Het zal bovendien een paar andere evenementen op een beperkte manier volgen. Deze lijst behandelt de gebeurtenissen die worden vastgelegd:
- Registry - dit kunnen sleutels zijn, ze lezen, verwijderen of doorvragen. Je zult verrast zijn hoe vaak dit gebeurt.
- Bestandssysteem - dit kan het maken van bestanden, schrijven, verwijderen enz. zijn en het kan zowel voor lokale harde schijven als voor netwerkschijven zijn.
- Netwerk - dit toont de bron en bestemming van TCP / UDP-verkeer, maar helaas worden de gegevens niet weergegeven, waardoor het een beetje minder nuttig is.
- Werkwijze - Dit zijn gebeurtenissen voor processen en threads waarbij een proces wordt gestart, een thread wordt gestart of afgesloten, enzovoort. Dit kan in bepaalde gevallen nuttige informatie zijn, maar is vaak iets dat u in plaats daarvan in Process Explorer wilt bekijken..
- profiling - Deze gebeurtenissen worden vastgelegd door Process Monitor om de hoeveelheid processortijd die door elk proces wordt gebruikt, en het geheugengebruik te controleren. Nogmaals, je zou waarschijnlijk Process Explorer willen gebruiken om deze dingen meestal te volgen, maar het is handig hier als je het nodig hebt.
Process Monitor kan dus elk type I / O-bewerking vastleggen, ongeacht of dat gebeurt via het register, bestandssysteem of zelfs het netwerk, hoewel de feitelijke gegevens die worden geschreven niet worden vastgelegd. We kijken alleen naar het feit dat een proces naar een van deze streams schrijft, zodat we later meer te weten kunnen komen over wat er gebeurt.
De interface voor procesmonitoring
Wanneer u de Process Monitor-interface voor het eerst laadt, krijgt u een enorm aantal rijen met gegevens te zien, met meer gegevens snel binnen en het kan overweldigend zijn. De sleutel is om tenminste een idee te hebben over waar je naar kijkt, en ook waar je naar op zoek bent. Dit is niet het type tool dat u een ontspannen dag doorbrengt, omdat u binnen een zeer korte periode naar miljoenen rijen kijkt.
Het eerste dat u wilt doen, is die miljoenen rijen filteren op de veel kleinere subset met gegevens die u wilt zien, en we zullen u leren hoe u filters kunt maken en precies kunt bepalen wat u wilt vinden . Maar eerst moet u de interface begrijpen en welke gegevens daadwerkelijk beschikbaar zijn.
Kijken naar de standaard kolommen
De standaardkolommen bevatten heel veel nuttige informatie, maar je hebt zeker een context nodig om te begrijpen welke gegevens elke bevat, omdat sommige ervan eruit kunnen zien als iets ergs gebeurd is, terwijl het echt onschuldige gebeurtenissen zijn die altijd voorkomen onder de kap. Dit is waar elk van de standaardkolommen voor wordt gebruikt:
- Tijd - deze kolom is redelijk vanzelfsprekend, deze toont het exacte tijdstip waarop een gebeurtenis plaatsvond.
- Proces naam - de naam van het proces dat de gebeurtenis heeft gegenereerd. Dit toont standaard niet het volledige pad naar het bestand, maar als u over het veld beweegt, kunt u precies zien welk proces het was.
- PID - de proces-ID van het proces dat de gebeurtenis heeft gegenereerd. Dit is erg handig als u probeert te begrijpen met welk proces svchost.exe de gebeurtenis heeft gegenereerd. Het is ook een uitstekende manier om een enkel proces voor monitoring te isoleren, ervan uitgaande dat dit proces zichzelf niet opnieuw opstart.
- Operatie - dit is de naam van de bewerking die wordt geregistreerd en er is een pictogram dat overeenkomt met een van de gebeurtenistypen (register, bestand, netwerk, proces). Deze kunnen een beetje verwarrend zijn, zoals RegQueryKey of WriteFile, maar we zullen proberen en je helpen door de verwarring heen.
- Pad - dit is niet het pad van het proces, het is het pad naar wat er door deze gebeurtenis werd bewerkt. Als er bijvoorbeeld een WriteFile-gebeurtenis is, wordt in dit veld de naam weergegeven van het bestand of de map die wordt aangeraakt. Als dit een registergebeurtenis was, zou dit laten zien dat de volledige sleutel werd geopend.
- Resultaat - Dit toont het resultaat van de bewerking, die codeert als SUCCES of TOEGANG ONTKEND. Hoewel je misschien in de verleiding komt om automatisch aan te nemen dat een BUFFER TE KLEIN betekent dat er iets heel ergs is gebeurd, is dat in de meeste gevallen niet het geval.
- Detail - aanvullende informatie die vaak niet vertaald wordt naar de reguliere nep-probleemoplossing wereld.
U kunt ook enkele extra kolommen aan de standaardweergave toevoegen door naar Opties -> Kolommen selecteren te gaan. Dit zou niet onze aanbeveling zijn voor uw eerste stop wanneer u begint met testen, maar omdat we kolommen uitleggen, is dit al de moeite waard om te vermelden.
Een van de redenen voor het toevoegen van extra kolommen aan het display is dat u heel snel kunt filteren op die gebeurtenissen zonder overbelast te raken met gegevens. Hier zijn een paar van de extra kolommen die we gebruiken, maar afhankelijk van de situatie kunt u deze gebruiken voor sommige anderen in de lijst.
- Opdrachtregel - terwijl u op een gebeurtenis kunt dubbelklikken om de opdrachtregelargumenten weer te geven voor het proces dat elke gebeurtenis heeft gegenereerd, kan het handig zijn om in een oogopslag alle opties te zien.
- Bedrijfsnaam - de belangrijkste reden dat deze kolom nuttig is, is dus dat u eenvoudig alle Microsoft-gebeurtenissen snel kunt uitsluiten en uw monitoring kunt beperken tot al het andere dat geen deel uitmaakt van Windows. (U wilt er zeker van zijn dat u geen vreemde rundll32.exe-processen uitvoert die met Process Explorer worden uitgevoerd, omdat deze mogelijk malware verbergen).
- Parent PID - dit kan erg handig zijn als u een probleem oplost dat een proces met veel onderliggende processen bevat, zoals een webbrowser of een toepassing die nog steeds vage dingen als een ander proces start. U kunt dan filteren op de ouder-PID om ervoor te zorgen dat u alles vastlegt.
Het is vermeldenswaard dat u kunt filteren op kolomgegevens, zelfs als de kolom niet wordt weergegeven, maar het is veel gemakkelijker om met de rechtermuisknop te klikken en te filteren dan handmatig. En ja, we hebben filters opnieuw genoemd, hoewel we ze nog niet hebben uitgelegd.
Onderzoek naar een enkel evenement
Het bekijken van dingen in een lijst is een goede manier om snel veel verschillende gegevenspunten tegelijk te zien, maar het is zeker niet de gemakkelijkste manier om een enkel gegeven te onderzoeken, en er is alleen zoveel informatie die u kunt zien in de lijst. Gelukkig kun je dubbelklikken op een evenement om toegang te krijgen tot een schat aan extra informatie.
Het standaardgebeurtenis-tabblad geeft u informatie die grotendeels vergelijkbaar is met wat u in de lijst zag, maar voegt iets meer informatie aan het feest toe. Als u een bestandssysteemgebeurtenis bekijkt, kunt u bepaalde informatie zien, zoals de attributen, de tijd voor het aanmaken van bestanden, de toegang die werd geprobeerd tijdens een schrijfbewerking, het aantal bytes dat werd geschreven en de duur.
Als u overschakelt naar het tabblad Proces, krijgt u veel geweldige informatie over het proces dat de gebeurtenis heeft gegenereerd. Hoewel u over het algemeen Procesverkenner wilt gebruiken om met processen om te gaan, kan het erg handig zijn om veel informatie te hebben over het specifieke proces dat een specifieke gebeurtenis heeft gegenereerd, vooral als het iets is dat zeer snel is gebeurd en vervolgens is verdwenen uit de proceslijst. Op deze manier worden de gegevens vastgelegd.
Het tabblad Stapel is iets dat soms erg handig is, maar vaak zullen tijden helemaal niet nuttig zijn. De reden waarom je de stapel zou willen bekijken, is dus je kunt problemen oplossen door de kolom Module te bekijken voor iets dat er niet helemaal goed uitziet..
Stel je bijvoorbeeld eens voor dat een proces voortdurend probeerde een bestand op te vragen of toegang te krijgen dat niet bestond, maar je wist niet zeker waarom. Je zou door het tabblad Stapel kunnen kijken en zien of er modules waren die er niet goed uitzagen en onderzoek die dan. Mogelijk vindt u een probleem met de verouderde component of zelfs malware.
Of misschien merk je dat er hier niets nuttigs voor je is, en dat is ook prima. Er zijn veel andere gegevens om naar te kijken.
Opmerkingen over bufferoverlopen
Voordat we verder gaan, willen we een resultaatcode noteren dat je veel in de lijst zult gaan zien, en op basis van al je geekkennis tot nu toe, zou je misschien een beetje in paniek raken. Dus als je BUFFER OVERFLOW in de lijst ziet, ga er dan niet van uit dat iemand je computer probeert te hacken.
Volgende pagina: filteren van de gegevens die monitoropnames verwerken