Razumijevanje Process Monitora

SysInternals 4



Danas u ovom izdanju Geek Schoola naučit ćemo vas o tome kako vam uslužni program Process Monitor omogućuje da zavirite ispod haube i vidite što vaše omiljene aplikacije stvarno rade iza kulisa - kojim datotekama pristupaju, ključevima registra koje korištenje i još mnogo toga.

ŠKOLSKA NAVIGACIJA
  1. Što su SysInternals alati i kako ih koristite?
  2. Razumijevanje Process Explorera
  3. Korištenje Process Explorera za rješavanje problema i dijagnosticiranje
  4. Razumijevanje Process Monitora
  5. Korištenje Process Monitora za rješavanje problema i pronalaženje hakova u registru
  6. Korištenje automatskog pokretanja za rješavanje procesa pokretanja i zlonamjernog softvera
  7. Korištenje BgInfo za prikaz informacija o sustavu na radnoj površini
  8. Korištenje PsTools za upravljanje drugim računalima iz naredbenog retka
  9. Analiza i upravljanje vašim datotekama, mapama i diskovima
  10. Završavanje i zajedničko korištenje alata

Za razliku od uslužnog programa Process Explorer na koji smo proveli nekoliko dana, Process Monitor je zamišljen kao pasivan pogled na sve što se događa na vašem računalu, a ne kao aktivni alat za uništavanje procesa ili zatvaranje ručki. Ovo je kao da zavirujete u globalnu datoteku dnevnika za svaki pojedinačni događaj koji se dogodi na vašem Windows računalu.





Želite li razumjeti u koje ključeve registra vaša omiljena aplikacija zapravo sprema svoje postavke? Želite saznati koje datoteke servis dodiruje i koliko često? Želite li vidjeti kada se aplikacija povezuje na mrežu ili otvara novi proces? U pomoć je Process Monitor.

Više ne radimo puno članaka o hakiranju registra, ali kad smo prvi put počeli, koristili bismo Process Monitor da shvatimo kojim se ključevima registra pristupa, a zatim išli podesiti te ključeve registra da vidimo što će se dogoditi. Ako ste se ikada zapitali kako je neki štreber shvatio hakiranje registra koji nitko nikada nije vidio, vjerojatno je to bilo putem Process Monitora.



Uslužni program Process Monitor stvoren je kombiniranjem dvaju različitih uslužnih programa stare škole, Filemon i Regmon, koji su korišteni za praćenje datoteka i aktivnosti registra kao što im nazivi sugeriraju. Iako su ti uslužni programi još uvijek dostupni i iako bi mogli odgovarati vašim posebnim potrebama, bilo bi vam puno bolje s Process Monitorom, jer može bolje upravljati velikim brojem događaja zbog činjenice da je dizajniran za to .

Oglas

Također je vrijedno napomenuti da Process Monitor uvijek zahtijeva način rada administratora jer učitava upravljački program kernela ispod haube kako bi zabilježio sve te događaje. U sustavu Windows Vista i novijim verzijama bit će vam zatražen dijaloški okvir UAC, ali za XP ili 2003, morat ćete provjeriti ima li račun koji koristite ima administratorske privilegije.

Događaji koje bilježi Monitor Process

Process Monitor bilježi tonu podataka, ali ne bilježi svaku pojedinu stvar koja se događa na vašem računalu. Na primjer, Process Monitor ne mari pomičete li miša unaokolo i ne zna rade li vaši upravljački programi optimalno. Neće pratiti koji su procesi otvoreni i troše CPU na vašem računalu - to je ipak posao Process Explorera.



Ono što radi je hvatanje specifičnih vrsta I/O (ulaz/izlaz) operacija, bilo da se događaju putem datotečnog sustava, registra ili čak mreže. Dodatno će pratiti nekoliko drugih događaja na ograničen način. Ovaj popis pokriva događaje koje bilježi:

    registar– to može biti stvaranje ključeva, njihovo čitanje, brisanje ili postavljanje upita. Iznenadit ćete se koliko se to često događa. Sustav datoteka– to može biti stvaranje datoteke, pisanje, brisanje itd., a može biti i za lokalne tvrde diskove i za mrežne diskove. Mreža– ovo će pokazati izvor i odredište TCP/UDP prometa, ali nažalost ne prikazuje podatke, što ga čini malo manje korisnim. Postupak– To su događaji za procese i niti u kojima se proces pokreće, nit pokreće ili izlazi, itd. To može biti korisna informacija u određenim slučajevima, ali je često nešto što biste željeli pogledati u Process Exploreru. Profiliranje– Process Monitor bilježi ove događaje kako bi provjerio količinu vremena procesora koje koristi svaki proces i korištenje memorije. Opet, vjerojatno biste željeli koristiti Process Explorer za praćenje ovih stvari većinu vremena, ali ovdje je koristan ako vam zatreba.

Dakle, Process Monitor može snimiti bilo koju vrstu I/O operacije, bilo da se to događa putem registra, datotečnog sustava ili čak mreže - iako stvarni podaci koji se zapisuju nisu zarobljeni. Gledamo samo činjenicu da proces piše u jedan od ovih streamova, tako da kasnije možemo shvatiti više o tome što se događa.

Sučelje za nadzor procesa

Kada prvi put učitate sučelje Process Monitora, prikazat će vam se ogroman broj redaka podataka, s više podataka koji brzo dolaze, a to može biti neodoljivo. Ključno je imati barem neku ideju o tome što gledate, kao i o tome što tražite. Ovo nije tip alata koji provodite opuštajući dan pregledavajući, jer ćete u vrlo kratkom vremenskom razdoblju gledati milijune redaka.

Prva stvar koju ćete htjeti učiniti je filtrirati te milijune redaka na mnogo manji podskup podataka koji želite vidjeti, a mi ćemo vas naučiti kako stvoriti filtre i precizirati točno ono što želite pronaći . Ali prvo biste trebali razumjeti sučelje i koji su podaci zapravo dostupni.

Gledajući zadane stupce

Zadani stupci pokazuju gomilu korisnih informacija, ali će vam svakako trebati neki kontekst da shvatite koje podatke svaki od njih zapravo sadrži, jer bi neki od njih mogli izgledati kao da se nešto loše dogodilo kada su stvarno nevini događaji koji se stalno događaju pod napa. Evo za što se koristi svaki od zadanih stupaca:

    Vrijeme– ovaj stupac je prilično razumljiv, pokazuje točno vrijeme kada se događaj dogodio. Naziv procesa– naziv procesa koji je generirao događaj. Ovo prema zadanim postavkama ne prikazuje punu stazu do datoteke, ali ako zadržite pokazivač iznad polja, možete vidjeti koji je to točno proces. PID– ID procesa procesa koji je generirao događaj. Ovo je vrlo korisno ako pokušavate razumjeti koji proces svchost.exe je generirao događaj. To je također izvrstan način za izolaciju jednog procesa za praćenje, pod pretpostavkom da se taj proces sam od sebe ne pokrene. Operacija– ovo je naziv operacije koja se bilježi, a postoji ikona koja odgovara jednom od tipova događaja (registrator, datoteka, mreža, proces). To može biti malo zbunjujuće, poput RegQueryKey ili WriteFile, ali mi ćemo vam pokušati pomoći u ovoj zbrci. Staza– ovo nije put procesa, to je put do onoga na čemu se radilo ovim događajem. Na primjer, ako je postojao događaj WriteFile, ovo polje će pokazati naziv datoteke ili mape koja se dodiruje. Ako je ovo bio događaj registra, prikazao bi se pristup punom ključu. Proizlaziti– Ovo pokazuje rezultat operacije, koji kodira kao USPJEH ili PRISTUP ODBIJEN. Iako biste mogli biti u iskušenju da automatski pretpostavite da BUFFER PREMALI znači da se dogodilo nešto stvarno loše, to zapravo nije slučaj većinu vremena. Detalj– dodatne informacije koje se često ne prevode u uobičajeni svijet rješavanja problema s geekovima.
Oglas

Također možete dodati neke dodatne stupce na zadani prikaz tako da odete na Opcije -> Odaberi stupce. Ovo ne bi bila naša preporuka za vaše prvo zaustavljanje kada počnete s testiranjem, ali budući da objašnjavamo stupce, vrijedno je već spomenuti.

Jedan od razloga za dodavanje dodatnih stupaca na prikaz je taj da možete vrlo brzo filtrirati po tim događajima bez da budete pretrpani podacima. Evo nekoliko dodatnih stupaca koje koristimo, no možda ćete se koristiti za neke druge na popisu, ovisno o situaciji.

    Naredbeni redak– premda možete dvaput kliknuti na bilo koji događaj da biste vidjeli argumente naredbenog retka za proces koji je generirao svaki događaj, može biti korisno da na brzinu vidite sve opcije. Naziv tvrtke– glavni razlog zašto je ovaj stupac koristan je da jednostavno možete brzo isključiti sve Microsoftove događaje i suziti svoje praćenje na sve ostalo što nije dio Windowsa. (Bilo bi dobro da se uvjerite da nemate čudnih rundll32.exe procesa koji se pokreću pomoću Process Explorera, jer oni mogu skrivati ​​zlonamjerni softver). Roditeljski PID– ovo može biti vrlo korisno kada rješavate probleme s procesom koji sadrži mnogo podređenih procesa, poput web-preglednika ili aplikacije koja stalno pokreće nedorečene stvari kao drugi proces. Zatim možete filtrirati prema roditeljskom PID-u kako biste bili sigurni da ste uhvatili sve.

Važno je napomenuti da možete filtrirati prema podacima stupca čak i ako se stupac ne prikazuje, ali mnogo je lakše kliknuti desnom tipkom miša i filtrirati nego ručno. I da, ponovno smo spomenuli filtere iako ih još nismo objasnili.

Ispitivanje pojedinačnog događaja

Pregledavanje stvari na popisu izvrstan je način da brzo vidite puno različitih podatkovnih točaka odjednom, ali definitivno nije najlakši način za ispitivanje jednog podatka, a postoji samo toliko informacija koje možete vidjeti u popis. Srećom, možete dvaput kliknuti na bilo koji događaj kako biste pristupili riznici dodatnih informacija.

Zadana kartica Događaj daje vam informacije koje su uvelike slične onome što ste vidjeli na popisu, ali će dodati malo više informacija zabavi. Ako gledate događaj datotečnog sustava, moći ćete vidjeti određene informacije kao što su atributi, vrijeme stvaranja datoteke, pristup koji je pokušan tijekom operacije pisanja, broj bajtova koji su zapisani i trajanje.

Oglas

Prelazak na karticu Proces daje vam puno sjajnih informacija o procesu koji je generirao događaj. Iako ćete općenito htjeti koristiti Process Explorer za rad s procesima, može biti vrlo korisno imati puno informacija o određenom procesu koji je generirao određeni događaj, pogotovo ako se radi o nečemu što se dogodilo vrlo brzo, a zatim nestalo iz popis procesa. Na ovaj način se podaci prikupljaju.

Kartica Stack je nešto što će ponekad biti iznimno korisno, ali često uopće neće biti korisno. Razlog zašto biste željeli pogledati stog je da možete riješiti problem tako što ćete pregledati stupac Modul za sve što ne izgleda sasvim ispravno.

Kao primjer, zamislite da proces neprestano pokušava tražiti ili pristupiti datoteci koja ne postoji, ali niste bili sigurni zašto. Možete pogledati kroz karticu Stack i vidjeti ima li modula koji ne izgledaju kako treba, a zatim ih istražiti. Možda ćete otkriti da zastarjela komponenta ili čak zlonamjerni softver uzrokuje problem.

Ili, možda ćete otkriti da ovdje nema ništa korisno za vas, a i to je sasvim u redu. Ima puno drugih podataka koje treba pogledati.

Napomene o preljevima međuspremnika

Prije nego što uopće nastavimo dalje, htjet ćemo zabilježiti kod rezultata koji ćete početi često viđati na popisu, a na temelju svog dosadašnjeg geek znanja, možda ćete se malo izbezumiti. Dakle, ako počnete vidjetiBUFFER PREFLOW na popisu, nemojte pretpostavljati da netko pokušava hakirati vaše računalo.

Preljevi međuspremnika

Iako da, mnogi hakeri i kreatori zlonamjernog softvera iskorištavaju slabost preljeva međuspremnika za daljinsko ili lokalno hakiranje komponente i dobivanje dodatnog pristupa, ova poruka o pogrešci je zapravo ugrađen u Windows API i znači potpuno suprotno .

Bilješka: Zamislite tampon poput kutije slatkiša u blizini registra u trgovini. Ljudi ih stalno kupuju, a kada se kutija spusti, trgovina ponovno puni kutiju.

Idealno bi bilo da neće čekati da kutija bude prazna, jer bi to bilo frustrirajuće za kupce, a idealno bi bilo i da neće trčati straga svaki put kada kupac kupi jednu bombonjeru, jer bi to bilo gubitak novca vrijeme. Ovo je međuspremnik, a oni su namijenjeni sprječavanju kašnjenja.

Oglas

Ono što poruka BUFFER OVERFLOW u Windows API-ju, a posebno u Process Monitoru, zapravo znači je da je klijentska aplikacija zatražila podatke, ali nije imala dovoljno veliku kantu da zadrži sve podatke. Dakle, poslužitelj odgovara kako bi rekao klijentu da im je potrebna veća kantica.

U primjeru za gornju snimku zaslona, ​​aplikacija je zatražila od registra određenu vrijednost, ali je rekla Windows API-ju da stavi rezultat na mjesto u memoriji koje je premalo da stane sve te podatke. Tako je Windows vratio poruku kako bi aplikaciji dao do znanja da im treba veće mjesto za postavljanje svih podataka. To je sve što je bilo.

Skok na put podataka događaja

Sve su ove informacije stvarno sjajne, ali nitko ne želi istraživati ​​ručnim pregledavanjem svake lokacije na popisu. Srećom, možete desnom tipkom miša kliknuti polje Put za stavku i upotrijebiti opciju Skoči na da brzo pristupite tim podacima da vidite što sadrže i pokušate shvatiti zašto aplikacija uopće traži te podatke.

Bilješka: također možete koristiti značajku Search Online za brzo traženje naziva procesa, putanje registra ili bilo kojeg drugog polja, što može biti jako korisno kada ne razumijete za što se nešto koristi.

U gornjem primjeru možete vidjeti da je aplikacija koju smo pratili pokušavala pogledati vrijednost registra, pa smo koristili značajku Skoči na, a Process Monitor je odmah otvorio uređivač registra koji je već bio fokusiran na točan ključ.

Dakle, sada znamo, aplikacija pokušava shvatiti gdje je moja mapa appdata, i znamo koja je to mapa... što pomaže objasniti što se događa.

Oglas

U ovom slučaju, aplikacija je bila zlonamjerni softver za pretraživanje Conduit i tražila je moju korisničku mapu upitom u registar kako bi se mogla početi petljati s datotekama i mapama unutar mog Google Chrome profila.

Filtriranje podataka koje bilježi Process Monitor

Kao što smo već nekoliko puta spomenuli, filtri koje Process Monitor pruža omogućuju vam preciznu kontrolu nad događajima koje ćete snimiti, što vam znači mnogo lakši rad da shvatite što je važno na popisu . Ako znate da vam nije stalo do svih događaja koje generira explorer.exe, na primjer, onda bi vam bilo pametno da ih samo filtrirate.

Možete vrlo brzo filtrirati prema bilo kojem stupcu pomoću kontekstnog izbornika i pomoću značajki Uključi ili Isključi — ako Uključite stavku, popis će sadržavati samo događaje koji odgovaraju toj određenoj stavci ili bilo koje druge koje posebno uključite, ali neće sadržavati još nešto. Ako izuzmete stavku, sve će se prikazati osim događaja koji odgovaraju vrlo specifičnoj stavci koju ste isključili.

U ovom slučaju odlučili smo uključiti proces cltmng.exe, a sada je svaka stvar koju vidimo na popisu povezana s tim procesom.

Alternativno možete koristiti opciju Uredi filtar iz izbornika ili pristupiti odjeljku Filtri izbornika za prikaz popisa filtara i njihovo uređivanje. Možete birati iz padajućih dijaloških okvira i podudarati se s bilo kojim od dostupnih polja, odabrati hoće li se vrijednost koju upišete u okvir točno podudarati, ili samo počinje s, ili niz drugih opcija. Zatim možete odabrati hoćete li uključiti ili isključiti događaje koji odgovaraju tim kriterijima.

Samo ne zaboravite kliknuti gumb Dodaj nakon što definirate svoj filtar i prije nego što kliknete U redu ili Primijeni, jer inače vaš novi filtar zapravo neće biti aktiviran. Vjerujte nam, ovo je česta pogreška!

Također možete ukloniti ili urediti filtre tako da ih odaberete na popisu, a zatim ih izmijenite ili uklonite.

Previše podataka? Pokušajte ispustiti filtrirane događaje

Ako sigurno znate da imate prave filtre za gledanje samo stvari koje stvarno želite vidjeti, možda biste trebali razmisliti o korištenju značajke Filtar -> Ispusti filtrirane događaje.

Oglas

Ono što se zapravo događa ovdje je da instanca Process Monitora prikazuje samo stavke koje odgovaraju filteru, ali sve ostalo se još uvijek snima u pozadini, što može biti TON podataka nakon vrlo kratkog vremena - obratite pozornost na statusnu traku u primjeru ispod da smo trčali samo nekoliko minuta. Da smo imali uključenu opciju Ispusti filtrirane događaje, ona bi zabilježila samo one događaje koje smo željeli.

Ipak, postoji veliki nedostatak korištenja ove značajke, a to je da ne možete vratiti te filtrirane događaje ako ste shvatili da ste previše filtrirali popis i htjeli ste ispitati događaje iz drugog procesa. Morali biste ponoviti cijeli svoj scenarij, što bi moglo biti prekasno. Stoga ovu opciju koristite s oprezom.

Spremanje deponija za kasniju analizu

Postoji još jedna stvar za današnju lekciju, a to je značajka Otvori/Spremi koju inače ne bismo istaknuli ni na jednoj drugoj aplikaciji, ali u ovom slučaju je jako važna.

Zamislite da radite na nečijem stvarno starom i lošem računalu i želite dijagnosticirati određeni problem, ali računalo jednostavno radi presporo da biste sjedili i nosili se s njim cijelo vrijeme. Možete jednostavno pokrenuti skeniranje Process Monitora na njihovom računalu, spremiti podatke na flash disk, a zatim učitati Process Monitor na svoje brzo osobno prijenosno računalo i baciti se na posao analizirajući što se moglo dogoditi. Možete čak otići u kafić i odande analizirati.

Oglas

I naravno, također možete samo daljinski razgovarati s nekim putem pokretanja Process Monitora, skeniranja, spremanja datoteke i slanja vam je na analizu. Na taj način se ne morate ni pojaviti i vidjeti ih osobno.

Sljedeća lekcija

Ostanite s nama za sutrašnju lekciju, gdje ćemo objediniti svo znanje koje smo stekli i pokazati kako koristiti Process Monitor u stvarnom svijetu kako bismo postigli neke zabavne i zanimljive stvari.

PROČITAJTE SLJEDEĆE Fotografija profila za Lowell Heddings Lowell Heddings
Lowell je osnivač i izvršni direktor How-To Geek. On vodi emisiju od stvaranja stranice 2006. Tijekom posljednjeg desetljeća, Lowell je osobno napisao više od 1000 članaka koje je pogledalo preko 250 milijuna ljudi. Prije nego što je započeo How-To Geek, Lowell je proveo 15 godina radeći u IT-u baveći se poslovima savjetovanja, kibernetičke sigurnosti, upravljanja bazama podataka i programiranja.
Pročitajte cijelu biografiju

Zanimljivi Članci