Днес в това издание на Geek School ще ви научим как инструментът за мониторинг на процесите ви позволява да надничате под капака и да видите какви са вашите любими приложения в действителност зад кулисите - до какви файлове те влизат, използване и др.
УЧИЛИЩНА НАВИГАЦИЯЗа разлика от помощната програма Process Explorer, която прекарахме в продължение на няколко дни, Process Monitor трябва да бъде пасивен поглед към всичко, което се случва на вашия компютър, а не активен инструмент за убиване на процеси или затваряне на дръжки. Това е като да погледнете глобален лог файл за всяко събитие, което се случва на компютъра ви с Windows.
Искате ли да разберете кои ключове в регистъра в любимото ви приложение всъщност съхраняват настройките си? Искате да разберете какви файлове докосват дадена услуга и колко често? Искате ли да видите кога приложение се свързва с мрежата или отваря нов процес? Това е Process Monitor за спасяване.
Вече не правим много статии за хак на системния регистър, но когато започнахме, ще използваме Process Monitor, за да разберем кои ключове в системния регистър са били достъпни и след това да ощипваме тези ключове в системния регистър, за да видим какво ще се случи. Ако някога сте се чудили как някой измислил някакъв регистър, който никой никога не е виждал, вероятно е бил чрез Process Monitor.
Помощната програма Process Monitor е създадена чрез комбинирането на две различни помощни програми за старата школа, Filemon и Regmon, които се използват за наблюдение на файлове и регистърна дейност, както предполагат техните имена. Докато тези комунални услуги все още са на разположение там и докато те биха могли да отговарят на вашите конкретни нужди, ще бъдете много по-добре с Process Monitor, защото може да се справи с голям обем събития по-добре поради факта, че е проектиран да го направи ,
Заслужава да се отбележи, че Process Monitor винаги изисква администраторски режим, защото зарежда драйвера на ядрото под капака, за да заснеме всички тези събития. В Windows Vista и по-късно ще бъдете подканени от диалогов прозорец UAC, но за XP или 2003, ще трябва да сте сигурни, че използваният от вас профил има администраторски права.
Мониторът за процес събира тон от данни, но не заснема всяко нещо, което се случва на вашия компютър. Например Process Monitor не ви пука, ако движите мишката наоколо, и не знае дали вашите драйвери работят оптимално. Тя няма да следи кои процеси са отворени и че губите CPU на компютъра си - това е задачата на Process Explorer, в края на краищата.
Това, което прави, е да улавяте конкретни видове операции вход / изход (вход / изход), независимо дали те се случват чрез файловата система, регистъра или дори мрежата. Освен това ще следи още няколко други събития в ограничена степен. Този списък обхваща събитията, които е заснел:
Така че процесният монитор може да заснеме всякакъв тип I / O операция, независимо дали това се случва чрез регистъра, файловата система или дори мрежата - въпреки че действителните данни, които са написани, не са заснети. Просто гледаме на факта, че процесът пише в един от тези потоци, за да можем по-късно да разберем повече за това, което се случва.
Когато заредите интерфейса за процесния монитор, ще получите огромен брой редове от данни, с по-бързо подаване на данни и това може да бъде преобладаващо. Ключът е да имате поне някаква представа за това, което търсите, както и за това, което търсите. Това не е видът на инструмента, който прекарвате в релаксиращ ден, докато преглеждате, защото в рамките на много кратък период от време ще видите милиони редове.
Първото нещо, което ще искате да направите, е да филтрирате тези милиони редове до много по-малката подгрупа от данни, които искате да видите, и ще ви научим как да създавате филтри и нула точно за това, което искате да намерите , Но първо трябва да разберете интерфейса и какви данни всъщност са налични.
Колоните по подразбиране показват тон полезна информация, но определено ще ви е необходим контекст, за да разберете какви данни всъщност съдържа, защото някои от тях може да изглеждат като нещо лошо, когато те са наистина невинни събития, които се случват през цялото време качулка. Ето какво се използва за всяка от стандартните колони:
Можете също така да добавите допълнителни колони към дисплея по подразбиране, като отворите Опции -> Избор на графи. Това не би било наша препоръка за първата ви спирка, когато започнете да тествате, но тъй като обясняваме колони, вече си заслужава да се споменава.
Една от причините за добавянето на допълнителни колони към дисплея е, че можете бързо да филтрирате тези събития, без да сте претоварени с данни. Ето някои от допълнителните колони, които използваме, но в зависимост от ситуацията може да намерите употреба за други в списъка.
Заслужава да се отбележи, че можете да филтрирате по данни от колони, дори ако колоната не се показва, но е много по-лесно да кликнете с десния бутон на мишката и да ги филтрирате, отколкото да ги направите ръчно. И да, споменахме отново филтри, въпреки че все още не сме ги обяснили.
Преглеждането на нещата в списък е чудесен начин бързо да видите много различни точки от данни едновременно, но определено не е най-лесният начин да разгледате отделни данни и има толкова много информация, която можете да видите в списък. За щастие можете да кликнете два пъти върху всяко събитие, за да получите достъп до съкровище на допълнителна информация.
Разделът "Събитие по подразбиране" ви дава информация, която до голяма степен е сходна с тази, която сте видели в списъка, но ще добавите малко повече информация към партията. Ако разглеждате събитие на файлова система, ще можете да видите определена информация като атрибутите, времето за създаване на файла, достъпа, който е опитван по време на операцията за запис, броя на записаните байтове и продължителността.
Преминаването към раздела "Процес" ви дава много добра информация за процеса, генериращ събитието. Докато обикновено искате да използвате Process Explorer, за да се справите с процесите, може да бъде много полезно да разполагате с много информация за конкретния процес, генериращ конкретно събитие, особено ако това е нещо, което се случи много бързо и след това изчезна от списък на процесите. По този начин данните се заснемат.
Разделът Stack е нещо, което понякога е изключително полезно, но често пъти няма да е полезно изобщо. Причината, поради която бихте искали да погледнете стака, е да можете да отстранявате неизправностите, като разгледате колоната "Модул" за всичко, което не изглежда съвсем правилно.
Като пример, си представете, че процесът непрекъснато се опитва да запитва или да получи достъп до файл, който не съществува, но не сте сигурни защо. Можете да разгледате раздела Stack и да видите дали има някакви модули, които не изглеждат правилно, и след това ги изследвайте. Възможно е да намерите остарели компоненти, или дори злонамерен софтуер, причинява проблема.
Или може да откриете, че няма нищо полезно тук за вас, и това също е добре. Има много други данни, които да разгледате.
Преди да продължим нататък, ще искаме да отбележим кода на резултата, който ще започнете да виждате много в списъка и въз основа на всичките ви познания досега, може би ще ви изненада малко. Така че, ако започнете да виждате BUFFER OVERFLOW в списъка, моля, не предполагайте, че някой се опитва да проникне в компютъра ви.
Следваща страница: Филтриране на данните, които обработват мониторите