Înțelegerea procesului de monitorizare
Astăzi, în această ediție a Școlii Geek, vă vom învăța despre modul în care utilitarul Process Monitor vă permite să aruncați o privire sub capota și să vedeți ce aplicațiile dvs. preferate fac într-adevăr în spatele scenei - ce fișiere accesează acestea, cheile de registry pe care le utilizarea, și mai mult.
ȘCOLAREA NAVIGAȚIEI- Care sunt instrumentele SysInternals și cum le folosiți?
- Înțelegerea Process Explorer
- Utilizând Process Explorer pentru depanarea și diagnosticarea
- Înțelegerea procesului de monitorizare
- Utilizarea monitorului de proces pentru a depana și a găsi hack-uri de registru
- Utilizarea autorunelor pentru a face față proceselor de pornire și a programelor malware
- Folosind BgInfo pentru a afișa informații despre sistem pe desktop
- Utilizarea PsTools pentru a controla alte PC-uri de la linia de comandă
- Analizați și gestionați fișierele, folderele și driverele
- Înfășurarea și utilizarea împreună a uneltelor
Spre deosebire de utilitarul Process Explorer pe care l-am petrecut câteva zile acoperind, Process Monitor este menit să fie o privire pasivă la tot ceea ce se întâmplă pe computerul dvs., nu un instrument activ pentru uciderea proceselor sau închiderea mânerelor. Acest lucru este ca și cum ați lua o privire la un fișier log global pentru fiecare eveniment care se întâmplă pe PC-ul Windows.
Doriți să înțelegeți ce chei de regiștrii îți folosește în mod obișnuit aplicația preferată? Doriți să aflați ce fișiere ating un serviciu și cât de des? Vreți să vedeți când o aplicație se conectează la rețea sau deschide un nou proces? Procesul de monitorizare este de salvare.
Nu mai facem o mulțime de articole de hacking în registri, dar când am pornit pentru prima oară, vom folosi Monitorul de proces pentru a afla ce chei de registry au fost accesate și apoi du-te tweak cheile de registry pentru a vedea ce s-ar întâmpla. Daca v-ati intrebat vreodata cum un geek a dat seama de un hack de registru pe care nimeni nu l-a vazut vreodata, probabil a fost prin intermediul Process Monitor.
Utilitatea Process Monitor a fost creată prin combinarea a două utilități diferite de școală veche, Filemon și Regmon, care au fost utilizate pentru a monitoriza fișierele și activitatea de regiștri, așa cum sugerează numele lor. În timp ce aceste utilități sunt încă disponibile acolo și în timp ce acestea ar putea să se potrivească cu nevoile dvs. speciale, ați fi mult mai bine cu Process Monitor, deoarece poate gestiona un volum mare de evenimente mai bine datorită faptului că a fost proiectat să facă acest lucru.
De asemenea, merită remarcat faptul că Monitorul de proces necesită întotdeauna modul de administrator deoarece încarcă un driver de kernel sub capotă pentru a capta toate aceste evenimente. În Windows Vista și ulterior, vi se va solicita o fereastră de dialog UAC, dar pentru XP sau 2003, va trebui să vă asigurați că contul pe care îl utilizați are privilegii de Administrator.
Evenimentele care captează monitorul proceselor
Monitorul de proces capturează o tonă de date, dar nu captează fiecare lucru care se întâmplă pe PC. De exemplu, Monitorul de proces nu are grijă dacă mutați mouse-ul în jur și nu știe dacă driverele dvs. funcționează optim. Nu va fi urmărită ce procese sunt deschise și se pierde CPU-ul pe computer - asta e treaba Process Explorer, după toate.
Ce se întâmplă este captarea anumitor tipuri de operații I / O (intrări / ieșiri), indiferent dacă acestea se întâmplă prin sistemul de fișiere, registru sau chiar prin rețea. În plus, va urmări câteva alte evenimente într-un mod limitat. Această listă acoperă evenimentele pe care le captează:
- Registru - aceasta ar putea fi crearea de chei, citirea acestora, ștergerea acestora sau interogarea acestora. Veți fi surprinși cât de des se întâmplă acest lucru.
- Sistemul de fișiere - acest lucru ar putea fi crearea de fișiere, scrierea, ștergerea, etc, și poate fi atât pentru hard disk-urile locale, cât și pentru unitățile de rețea.
- Reţea - acest lucru va arăta sursa și destinația traficului TCP / UDP, dar din păcate nu arată datele, făcându-l mai puțin util.
- Proces - Acestea sunt evenimente pentru procesele și firele în care începe un proces, începe sau iese un fir etc. Aceasta poate fi o informație utilă în anumite situații, dar este adesea ceva la care ar trebui să te uiți în Process Explorer.
- profilat - Aceste evenimente sunt captate de Monitorul de proces pentru a verifica cantitatea de timp procesor utilizată de fiecare proces și utilizarea memoriei. Din nou, probabil că doriți să utilizați Process Explorer pentru a urmări aceste lucruri de cele mai multe ori, dar este util aici dacă aveți nevoie de el.
Deci, Monitorul de proces poate capta orice tip de operare I / O, fie că se întâmplă prin intermediul registrului, sistemului de fișiere sau chiar al rețelei - deși datele reale scrise nu sunt captate. Ne uităm doar la faptul că un proces scrie la unul dintre aceste fluxuri, așa că mai târziu ne putem da seama mai multe despre ceea ce se întâmplă.
Interfața monitorului de proces
Când încărcați prima dată interfața Monitorului de proces, veți primi un număr enorm de rânduri de date, cu mai multe date care zboară rapid și pot fi copleșitoare. Cheia este să ai o idee, cel puțin, despre ceea ce cauți, precum și despre ceea ce cauți. Acesta nu este tipul de instrument pe care îl petreceți într-o zi de relaxare în care navigați, pentru că într-o perioadă foarte scurtă de timp veți căuta milioane de rânduri.
Primul lucru pe care veți dori să-l faceți este să filtrați acele milioane de rânduri până la subsetul mult mai mic de date pe care doriți să-l vedeți și vă vom învăța cum să creați filtre și zero la exact ceea ce doriți să găsiți . Dar, mai întâi, ar trebui să înțelegeți interfața și ce date sunt de fapt disponibile.
Privind la Coloanele implicite
Coloanele implicite arată o multitudine de informații utile, dar cu siguranță aveți nevoie de un anumit context pentru a înțelege ce date conține fiecare, deoarece unele dintre ele ar putea părea că se întâmplă ceva rău atunci când sunt evenimente cu adevărat nevinovate care se întâmplă tot timpul capota. Iată ce se utilizează fiecare dintre coloanele implicite pentru:
- Timp - această coloană este destul de explicită, arată timpul exact la care a avut loc un eveniment.
- Numele procesului - numele procesului care a generat evenimentul. Aceasta nu indică calea completă la fișier în mod prestabilit, dar dacă treceți deasupra câmpului puteți vedea exact ce proces a fost.
- PID - ID-ul procesului care a generat evenimentul. Acest lucru este foarte util dacă încercați să înțelegeți care proces svchost.exe a generat evenimentul. Este, de asemenea, o modalitate excelentă de a izola un singur proces de monitorizare, presupunând că procesul nu se relansează.
- operație - acesta este numele operației care este înregistrată și există o pictogramă care se potrivește cu unul dintre tipurile de evenimente (registru, fișier, rețea, proces). Acestea pot fi puțin confuze, cum ar fi RegQueryKey sau WriteFile, dar vom încerca să vă ajutăm prin confuzie.
- cale - aceasta nu este calea procesului, este calea spre tot ce a fost lucrat de acest eveniment. De exemplu, dacă a existat un eveniment WriteFile, acest câmp va afișa numele fișierului sau dosarului care este atins. Dacă a fost un eveniment de registry, ar fi afișat cheia completă accesată.
- Rezultat - Aceasta arată rezultatul operației, care codifică SUCCESS sau ACCESS DENIED. În timp ce s-ar putea să fiți tentat să presupuneți în mod automat că un BUFFER TOO SMALL înseamnă ceva foarte rău sa întâmplat, nu este cazul de cele mai multe ori.
- Detaliu - informații suplimentare care adesea nu se traduc în lumea obișnuită de depanare a geek-urilor.
De asemenea, puteți adăuga câteva coloane suplimentare la afișajul implicit, accesând Opțiuni -> Selectare coloane. Aceasta nu ar fi recomandarea noastră pentru prima oprire când începeți testarea, dar deoarece explicăm coloane, merită menționat deja.
Unul dintre motivele pentru adăugarea de coloane suplimentare pe ecran este astfel încât să puteți filtra foarte rapid aceste evenimente fără a fi copleșit de date. Iată câteva dintre coloanele suplimentare pe care le folosim, dar, în funcție de situație, puteți găsi o listă de utilizatori în listă.
- Linie de comanda - în timp ce puteți face dublu clic pe orice eveniment pentru a vedea argumentele liniei de comandă pentru procesul care a generat fiecare eveniment, poate fi util să vedeți la o scurtă privire toate opțiunile.
- Numele Companiei - motivul principal este faptul că această coloană este utilă, astfel încât să puteți exclude rapid toate evenimentele Microsoft și să restrângeți monitorizarea la orice altceva care nu face parte din Windows. (Veți dori să vă asigurați că nu aveți procese ciudate de rundll32.exe care rulează utilizând Process Explorer, deși acestea ar putea să ascundă programe malware).
- PID părinte - acest lucru poate fi foarte util atunci când depanați un proces care conține multe procese copil, cum ar fi un browser web sau o aplicație care continuă să lanseze lucruri complicate ca un alt proces. Apoi puteți filtra filtrul PID pentru a vă asigura că capturați totul.
Merită să rețineți că puteți filtra datele de pe coloană chiar dacă coloana nu se afișează, dar este mult mai ușor să faceți clic și să filtrează decât să faceți manual. Și da, am menționat filtrele din nou, chiar dacă nu le-am explicat încă.
Examinarea unui eveniment unic
Vizualizarea lucrurilor dintr-o listă este o modalitate excelentă de a vedea rapid o mulțime de puncte de date diferite, dar cu siguranță nu este cel mai simplu mod de a examina o singură bucată de date și există doar atât de multe informații pe care le puteți vedea în listă. Din fericire, puteți să faceți dublu clic pe orice eveniment pentru a accesa o comoară de informații suplimentare.
Fila Eveniment implicit vă oferă informații care sunt în mare măsură similare cu cele pe care le-ați văzut în listă, dar vor adăuga un pic mai multe informații partidului. Dacă vă uitați la un eveniment de sistem de fișiere, veți putea vedea anumite informații, cum ar fi atributele, timpul de creare a fișierelor, accesul care a fost încercat în timpul unei operații de scriere, numărul de octeți care au fost scrise și durata.
Trecerea la fila Proces vă oferă o mulțime de informații extraordinare despre procesul care a generat evenimentul. În timp ce, în general, doriți să utilizați Process Explorer pentru a face față proceselor, poate fi foarte util să aveți o mulțime de informații despre procesul specific care a generat un anumit eveniment, mai ales dacă este ceva care sa întâmplat foarte repede și apoi a dispărut de la lista de procese. În acest fel, datele sunt captate.
Fila Stack este ceva care uneori va fi extrem de util, dar de multe ori ori nu va fi deloc util. Motivul pentru care doriți să vă uitați la stivă este să vă puteți depana examinând coloana Modul pentru orice nu arata destul de bine.
De exemplu, imaginați-vă că un proces încearcă în mod constant să interogați sau să accesați un fișier care nu există, dar nu știați de ce. Ați putea să vă uitați prin fila Stack și să vedeți dacă există module care nu arătau bine și apoi să le cercetați. S-ar putea să găsiți o componentă depășită, sau chiar malware, cauzează problema.
Sau, s-ar putea să găsiți că nu este ceva util aici pentru tine, și asta e chiar bine. Există o mulțime de alte date care trebuie privite.
Note privind depășirea tamponului
Înainte de a merge mai departe, vom dori să notăm un cod de rezultat pe care veți începe să îl vedeți foarte mult pe listă și pe baza tuturor cunoștințelor dvs. de până acum, s-ar putea să vă mirați puțin. Deci, dacă începeți să vedeți BUFFER OVERFLOW în listă, vă rugăm să nu presupuneți că cineva încearcă să vă spargă calculatorul.
Pagina următoare: Filtrarea datelor care captează monitorul proceselor