Понимание Process Monitor
Сегодня в этом выпуске Geek School мы расскажем вам о том, как утилита Process Monitor позволяет вам заглянуть за кулисы и посмотреть, что ваши любимые приложения действительно делают за кулисами - к каким файлам они обращаются, к разделам реестра, к которым они обращаются. использовать и многое другое.
ШКОЛЬНАЯ НАВИГАЦИЯ- Что такое инструменты SysInternals и как вы ими пользуетесь?
- Понимание Process Explorer
- Использование Process Explorer для устранения неполадок и диагностики
- Понимание Process Monitor
- Использование Process Monitor для устранения неполадок и поиска взлома реестра
- Использование автозапуска для работы с процессами запуска и вредоносными программами
- Использование BgInfo для отображения системной информации на рабочем столе
- Использование PsTools для управления другими ПК из командной строки
- Анализ и управление вашими файлами, папками и дисками
- Заключение и совместное использование инструментов
В отличие от утилиты 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 собирает тонны данных, но не все, что происходит на вашем компьютере. Например, Process Monitor не заботится о том, перемещаете ли вы мышь, и он не знает, работают ли ваши драйверы оптимально. Он не будет отслеживать, какие процессы открыты и тратит впустую процессор на вашем компьютере - в конце концов, это задача Process Explorer..
Что он делает, так это фиксирует определенные типы операций ввода / вывода (независимо от того, происходят ли они через файловую систему, реестр или даже по сети). Он также будет отслеживать несколько других событий ограниченным образом. Этот список охватывает события, которые он захватывает:
- реестр - это может быть создание ключей, их чтение, удаление или запрос к ним. Вы будете удивлены, как часто это происходит.
- Файловая система - это может быть создание файла, запись, удаление и т. д., и это может быть как для локальных жестких дисков, так и для сетевых дисков.
- сеть - это покажет источник и назначение трафика TCP / UDP, но, к сожалению, данные не отображаются, что делает его немного менее полезным.
- Процесс - Это события для процессов и потоков, в которых процесс запускается, поток запускается или завершается и т. Д. Это может быть полезной информацией в определенных случаях, но часто это то, что вы хотели бы вместо этого посмотреть в Process Explorer..
- профилирование - Эти события регистрируются Process Monitor для проверки количества процессорного времени, используемого каждым процессом, и использования памяти. Опять же, вы, вероятно, захотите использовать Process Explorer для отслеживания этих вещей большую часть времени, но это полезно здесь, если вам это нужно.
Таким образом, Process Monitor может захватывать операции ввода-вывода любого типа, независимо от того, происходит ли это через реестр, файловую систему или даже по сети - хотя записываемые данные не фиксируются. Мы просто смотрим на тот факт, что процесс записывает в один из этих потоков, поэтому мы можем позже выяснить больше о том, что происходит.
Интерфейс монитора процесса
Когда вы впервые загрузите интерфейс Process Monitor, вам будет представлено огромное количество строк данных, с большим количеством данных, поступающих быстро, и это может быть огромным. Ключ должен иметь представление, по крайней мере, о том, что вы смотрите, а также о том, что вы ищете. Это не тот инструмент, который вы проводите в спокойном дне, просматривая, потому что за очень короткий промежуток времени вы будете просматривать миллионы строк.
Первое, что вы захотите сделать, - это отфильтровать эти миллионы строк до гораздо меньшего подмножества данных, которые вы хотите видеть, и мы научим вас, как создавать фильтры и сосредоточиться именно на том, что вы хотите найти. , Но сначала вы должны понять интерфейс и какие данные на самом деле доступны.
Глядя на столбцы по умолчанию
Столбцы по умолчанию показывают массу полезной информации, но вам определенно понадобится некоторый контекст, чтобы понять, какие данные в действительности содержатся в каждом из них, потому что некоторые из них могут выглядеть как что-то плохое, когда это действительно невинные события, которые происходят все время под капот. Вот для чего используется каждый из столбцов по умолчанию:
- Время - этот столбец достаточно понятен, он показывает точное время, когда произошло событие.
- Имя процесса - имя процесса, который сгенерировал событие. Это не показывает полный путь к файлу по умолчанию, но если вы наведите курсор мыши на поле, вы можете точно увидеть, какой процесс это был.
- PID - идентификатор процесса, который сгенерировал событие. Это очень полезно, если вы пытаетесь понять, какой процесс svchost.exe сгенерировал событие. Это также отличный способ изолировать отдельный процесс для мониторинга, предполагая, что этот процесс не перезапускается сам.
- операция - это имя операции, которая регистрируется, и есть значок, который соответствует одному из типов событий (реестр, файл, сеть, процесс). Это может немного сбивать с толку, например RegQueryKey или WriteFile, но мы постараемся помочь вам преодолеть путаницу.
- Дорожка - это не путь процесса, это путь к тому, над чем работало это событие. Например, если произошло событие WriteFile, в этом поле будет отображаться имя файла или папки, к которой вы прикасались. Если бы это было событие реестра, было бы показано полный доступ к ключу.
- Результат - Это показывает результат операции, который кодирует как SUCCESS или ACCESS DENIED. Хотя у вас может возникнуть соблазн автоматически предположить, что БУФЕР СЛИШКОМ МАЛЕНЬКИЙ означает, что произошло что-то действительно плохое, в большинстве случаев это не так..
- подробность - дополнительная информация, которая часто не переводится в обычный мир поиска и устранения неисправностей.
Вы также можете добавить дополнительные столбцы к отображению по умолчанию, выбрав «Параметры» -> «Выбрать столбцы». Это не будет нашей рекомендацией для вашей первой остановки, когда вы начнете тестирование, но поскольку мы объясняем столбцы, стоит упомянуть уже.
Одна из причин добавления дополнительных столбцов на дисплей заключается в том, что вы можете очень быстро фильтровать эти события, не перегружаясь данными. Вот несколько дополнительных столбцов, которые мы используем, но вы можете найти использование для некоторых других в списке в зависимости от ситуации.
- Командная строка - хотя вы можете дважды щелкнуть любое событие, чтобы увидеть аргументы командной строки для процесса, который сгенерировал каждое событие, может быть полезно быстро просмотреть все параметры.
- название компании - Основная причина полезности этого столбца заключается в том, что вы можете просто быстро исключить все события Microsoft и сузить свой мониторинг до всего остального, что не является частью Windows. (Вы должны убедиться, что у вас нет никаких странных процессов rundll32.exe, запущенных с использованием Process Explorer, поскольку они могут скрывать вредоносные программы).
- PID родителей - это может быть очень полезно при устранении неполадок в процессе, который содержит много дочерних процессов, таких как веб-браузер или приложение, которое продолжает запускать наброски как другой процесс. Затем вы можете отфильтровать по PID Parent, чтобы убедиться, что вы захватываете все.
Стоит отметить, что вы можете фильтровать данные по столбцам, даже если столбец не отображается, но гораздо проще щелкнуть правой кнопкой мыши и отфильтровать, чем сделать это вручную. И да, мы снова упомянули фильтры, хотя еще не объяснили их.
Изучение одного события
Просмотр объектов в списке - это отличный способ быстро увидеть множество различных точек данных одновременно, но это определенно не самый простой способ изучения отдельного фрагмента данных, а в список. К счастью, вы можете дважды щелкнуть любое событие, чтобы получить дополнительную информацию..
Вкладка «Событие» по умолчанию дает вам информацию, которая в значительной степени похожа на ту, что вы видели в списке, но добавит немного больше информации для вечеринки. Если вы посмотрите на событие файловой системы, вы сможете увидеть определенную информацию, такую как атрибуты, время создания файла, доступ, который был предпринят во время операции записи, количество записанных байтов и продолжительность.
Переключение на вкладку «Процесс» дает много полезной информации о процессе, который сгенерировал событие. Хотя вы обычно хотите использовать Process Explorer для работы с процессами, может быть очень полезно иметь много информации о конкретном процессе, который сгенерировал конкретное событие, особенно если это то, что произошло очень быстро, а затем исчезло из список процессов. Таким образом, данные собираются.
Вкладка «Стек» - это то, что иногда будет чрезвычайно полезно, но зачастую это будет совсем не полезно. Причина, по которой вы захотите взглянуть на стек, состоит в том, что вы можете устранить неполадки, изучив столбец Модуль на предмет того, что выглядит не совсем правильно.
Например, представьте, что процесс постоянно пытается запросить или получить доступ к файлу, который не существует, но вы не знаете, почему. Вы можете просмотреть вкладку Stack и посмотреть, есть ли какие-то модули, которые выглядят неправильно, а затем исследовать их. Вы можете обнаружить устаревший компонент или даже вредоносное ПО, вызывающее проблему..
Или вы можете обнаружить, что здесь нет ничего полезного для вас, и это тоже хорошо. Есть много других данных, чтобы посмотреть на.
Примечания о переполнении буфера
Прежде чем мы продолжим, мы хотим отметить код результата, который вы часто увидите в списке, и, основываясь на всех ваших знаниях гиков, вы можете немного испугаться. Так что, если вы начнете видеть BUFFER OVERFLOW в списке, пожалуйста, не думайте, что кто-то пытается взломать ваш компьютер.
Следующая страница: Фильтрация данных, которые захватывает монитор процесса