Розуміння процесу моніторингу
Сьогодні в цьому випуску Geek School ми навчимо вас, як утиліта Process Monitor дозволяє заглянути під капот і подивитися, що ваші улюблені програми дійсно роблять за лаштунками - які файли вони отримують, ключі реєстру вони використовувати і багато іншого.
ШКОЛА НАВІГАЦІЇ- Які інструменти SysInternals і як ви їх використовуєте?
- Розуміння процесу Explorer
- Використання Process Explorer для усунення неполадок та діагностики
- Розуміння процесу моніторингу
- Використання процесу моніторингу для усунення неполадок і знайти реєстр хакі
- Використання Autoruns для роботи з запуску процесів і шкідливих програм
- Використання BgInfo для відображення системної інформації на робочому столі
- Використання PsTools для управління іншими комп'ютерами з командного рядка
- Аналіз і керування файлами, папками та дисками
- Загортання та використання інструментів разом
На відміну від утиліти Process Explorer, яку ми витратили кілька днів на покриття, Process Monitor призначений для пасивного погляду на все, що відбувається на вашому комп'ютері, а не на активний інструмент для знищення процесів або закриття ручок. Це подібно до того, щоб заглянути в глобальний лог-файл для кожної події, що відбувається на вашому ПК з Windows.
Хочете зрозуміти, в яких розділах реєстру улюблене додаток фактично зберігає свої налаштування? Хочете з'ясувати, які файли сервіс торкається і як часто? Хочете побачити, коли програма підключається до мережі або відкриває новий процес? Це процес монітора на допомогу.
Ми не робимо багато реєстру рубати статей більше, але назад, коли ми вперше почали ми будемо використовувати Process Monitor, щоб з'ясувати, які ключі реєстру були доступні, а потім йти налаштувати ці розділи реєстру, щоб побачити, що станеться. Якщо ви коли-небудь замислювалися, як деякі виродки зрозуміли реєстровий хак, який ніхто ніколи не бачив, це, ймовірно, через Process Monitor.
Утиліта Process Monitor була створена шляхом об'єднання двох різних утиліт старих шкіл разом, Filemon і Regmon, які використовувалися для моніторингу файлів і діяльності реєстру, як передбачають їхні імена. Хоча ці утиліти все ще доступні там, і хоча вони можуть відповідати вашим особливим потребам, вам буде краще працювати з Process Monitor, оскільки він може обробляти великий обсяг подій краще через те, що він був розроблений таким чином..
Варто також відзначити, що Process Monitor завжди вимагає режиму адміністратора, оскільки він завантажує драйвер ядра під капот, щоб захопити всі ці події. У Windows Vista та пізніших версіях вам буде запропоновано діалогове вікно UAC, але для XP або 2003 потрібно переконатися, що обліковий запис, який ви використовуєте, має права адміністратора.
Події, які обробляють монітор
Process Monitor захоплює тонну даних, але це не охоплює кожну річ, що відбувається на вашому комп'ютері. Наприклад, Process Monitor не хвилює, якщо ви переміщуєте мишу навколо, і він не знає, чи працюють ваші водії оптимально. Він не збирається відслідковувати, які процеси відкриті і витрачають процесор на вашому комп'ютері - це все-таки робота Process Explorer.
Це роблять це захоплення конкретних типів операцій введення / виводу (Input / Output), незалежно від того, чи відбуваються вони через файлову систему, реєстр або навіть мережу. Він буде додатково відстежувати кілька інших подій обмеженим чином. Цей список охоплює події, які він захоплює:
- Реєстр - це може бути створення ключів, читання, видалення або запит. Ви будете здивовані, як часто це відбувається.
- Файлова система - це може бути створення файлів, написання, видалення тощо, і це може бути як для локальних жорстких дисків, так і для мережевих дисків.
- Мережа - це покаже джерело та призначення трафіку TCP / UDP, але, на жаль, не показує даних, що робить його трохи менш корисним.
- Процес - Це події для процесів і потоків, в яких запускається процес, починається або виходить потік, і т.д. Це може бути корисною інформацією в деяких випадках, але часто це те, що ви хочете подивитися в Process Explorer замість цього.
- Профілювання - Ці події захоплюються процесором Monitor для перевірки кількості процесорного часу, який використовується кожним процесом, і використання пам'яті. Знову ж таки, ви, ймовірно, захочете використовувати Process Explorer для відстеження цих речей більшу частину часу, але це корисно тут, якщо вам це потрібно.
Таким чином, Process Monitor може захоплювати будь-який тип операцій вводу-виводу, незалежно від того, чи відбувається це через реєстр, файлову систему або навіть мережу - хоча фактичні дані, що записуються, не захоплюються. Ми просто дивимося на той факт, що процес записується до одного з цих потоків, щоб ми могли пізніше з'ясувати, що відбувається.
Інтерфейс монітора процесу
Коли ви спочатку завантажуєте інтерфейс Process Monitor, вам буде запропоновано величезну кількість рядків даних, причому більше даних буде швидко переноситися, і це може бути надзвичайно великим. Головне, щоб у вас була якась ідея, принаймні, про те, що ви дивитеся, а також те, що ви шукаєте. Це не той інструмент, який ви витрачаєте на розслаблююче перегляд дня, оскільки протягом дуже короткого періоду часу ви переглядаєте мільйони рядків.
Перше, що ви хочете зробити, це відфільтрувати ці мільйони рядків до набагато меншого підмножини даних, які ви хочете побачити, і ми навчимо вас створювати фільтри і нульовувати саме те, що ви хочете знайти . Але спочатку слід розуміти інтерфейс і які фактично доступні дані.
Дивлячись на стовпці за умовчанням
У стовпцях за умовчанням відображається маса корисної інформації, але вам, безумовно, потрібен певний контекст, щоб зрозуміти, які дані кожен насправді містить, оскільки деякі з них можуть виглядати як щось погане, коли вони дійсно є невинними подіями, які відбуваються весь час капот. Ось що використовується для кожного з стовпців за умовчанням:
- Час - цей стовпець є досить зрозумілим, він показує точний час, коли сталася подія.
- Назва процесу - ім'я процесу, який створив подію. Це не показує повний шлях до файлу за замовчуванням, але якщо наведіть курсор на поле, ви зможете побачити, який саме процес був.
- PID - ідентифікатор процесу процесу, який генерував подію. Це дуже корисно, якщо ви намагаєтеся зрозуміти, який процес svchost.exe генерує подію. Це також чудовий спосіб ізолювати один процес моніторингу, припускаючи, що цей процес не повторно запускається.
- Операція - це назва операції, що реєструється, і є значок, який відповідає одному з типів подій (реєстр, файл, мережа, процес). Це може трохи заплутати, наприклад, RegQueryKey або WriteFile, але ми спробуємо допомогти вам.
- Шлях - це не шлях процесу, це шлях до того, на чому ведеться ця подія. Наприклад, якщо було подія WriteFile, це поле покаже ім'я файлу або папки, до якої доторкається. Якщо це була подія реєстру, вона показувала б доступ до повної клавіші.
- Результат - Це показує результат операції, коди якої нагадують УСПІХ або ДОСТУП. Хоча ви можете спокуситися автоматично припустити, що BUFFER TOO SMALL означає щось дійсно погане, що не є справою більшість часу.
- Докладно - Додаткова інформація, яка часто не втілюється в звичайний світ усунення несправностей.
Ви також можете додати деякі додаткові стовпці до дисплея за замовчуванням, перейшовши в Опції -> Вибрати стовпці. Це не буде нашою рекомендацією для першої зупинки, коли ви починаєте тестування, але, оскільки ми пояснюємо стовпці, варто згадати вже.
Однією з причин додавання додаткових стовпчиків до дисплея є те, що ви можете дуже швидко фільтрувати ці події, не перевантажені даними. Нижче наведено деякі додаткові стовпці, які ми використовуємо, але ви можете знайти використання для деяких інших у списку залежно від ситуації.
- Командний рядок - Хоча ви можете двічі клацнути будь-яку подію, щоб побачити аргументи командного рядка для процесу, який генерував кожну подію, це може бути корисним для швидкого перегляду всіх опцій.
- Назва компанії - Основна причина, чому цей стовпець є корисним, полягає в тому, що ви можете просто виключити всі події корпорації Майкрософт швидко і звузити свій моніторинг до всього іншого, що не є частиною Windows. (Ви хочете переконатися, що у вас немає жодних дивних процесів rundll32.exe, які виконуються за допомогою Process Explorer, оскільки вони можуть приховувати шкідливе програмне забезпечення).
- Батьківський PID - це може бути дуже корисним, коли ви вирішуєте процес, який містить багато дочірніх процесів, наприклад веб-браузер або програму, яка продовжує запускати схематичні речі як інший процес. Потім ви можете фільтрувати за допомогою батьківського PID, щоб переконатися, що ви захопили все.
Варто зауважити, що ви можете фільтрувати за даними стовпців, навіть якщо стовпчик не відображається, але набагато простіше клацнути правою кнопкою миші і фільтрувати, ніж зробити це вручну. І так, ми згадували фільтри ще раз, хоча ми ще не пояснили їх.
Вивчення одного події
Перегляд речей у списку - це чудовий спосіб швидко побачити безліч різних точок даних одночасно, але це, безумовно, не найпростіший спосіб вивчити один фрагмент даних, і є лише стільки інформації, яку ви можете побачити в список. На щастя, ви можете двічі клацнути будь-яку подію, щоб отримати доступ до скарбів додаткової інформації.
За промовчанням на вкладці "Подія" відображається інформація, яка значною мірою подібна до того, що ви бачили у списку, але додасть трохи більше інформації до учасника. Якщо ви дивитеся на подію файлової системи, ви зможете побачити певну інформацію, таку як атрибути, час створення файлу, доступ, який спробували під час операції запису, кількість записаних байтів і тривалість.
Перехід на вкладку Процес дає вам безліч чудової інформації про процес, який створив подію. Хоча ви взагалі хочете використовувати Process Explorer для роботи з процесами, це може бути дуже корисно мати багато інформації про конкретний процес, який генерував конкретну подію, особливо якщо це те, що відбулося дуже швидко, а потім зникли з список процесів. Таким чином, дані захоплюються.
Вкладка Stack - це те, що іноді буде надзвичайно корисним, але часто часто не буде корисним. Причина, по якій ви хочете подивитися на стек, - це виправлення неполадок, вивчивши стовпець Модуль для будь-якого, що не виглядає правильно.
Наприклад, уявіть, що процес постійно намагався запитувати або отримувати доступ до файлу, який не існує, але ви не знали, чому. Ви можете переглянути вкладку Stack і подивитися, чи є якісь модулі, які не виглядають правильно, а потім досліджувати їх. Ви можете виявити, що проблема застаріла або навіть шкідлива.
Або, ви можете виявити, що тут немає нічого корисного для вас, і це теж добре. Існує багато інших даних для перегляду.
Примітки щодо переповнення буфера
Перед тим, як ми продовжимо далі, ми хочемо відзначити код результату, який ви збираєтеся починати бачити багато в списку, і, спираючись на всі ваші знахідники, ви можете трохи розчаруватися. Отже, якщо ви побачите в списку BUFFER OVERFLOW, не вважайте, що хтось намагається зламати ваш комп'ютер.
Наступна сторінка: Фільтрація даних, які обробляють монітор