FileMon

Программа FileMon отслеживает и отображает в реальном времени все операции с файловой системой. Ее богатые возможности делают ее мощным инструментом, позволяющим наблюдать, как работает система Windows, отслеживать, как приложения используют файлы и библиотеки DLL, а также решать проблемы, связанные с настройкой файлов системы или приложений. Программа Filemon точно отмечает время выполнения операций открытия, чтения, записи или удаления файла или каталога. В столбце состояния выводится результат выполнения каждой из этих операций. Программа FileMon так проста в использовании, что вы станете экспертом за считанные минуты. Она начинает отслеживание сразу после запуска, а ее выходные данные можно сохранить в файл для автономного просмотра. В программе реализованы все возможности для поиска, а если вам кажется, что она выводит слишком много информации, просто настройте один или несколько фильтров.

Программа FileMon работает в системах NT 4.0, Windows 2000, Windows XP, Windows XP и Windows Server 2003 64-bit Edition, Windows 2003 Server, Windows 95, Windows 98 и Windows ME.

Установка и использование

При возникновении вопросов или проблем посетите форум компании Sysinternals, посвященный программе Filemon.

Просто запустите программу FileMon (filemon.exe). Для этого необходимо иметь права администратора. Когда программа запускается в первый раз, она отслеживает все локальные жесткие диски. Чтобы очистить окно программы, выбрать или удалить тома для наблюдения, включая сетевые тома (Windows NT/2K/XP), сохранить полученные данные в файл, а также отфильтровать выходные данные или выполнить по ним поиск, можно воспользоваться командами меню, сочетаниями клавиш или кнопками панели инструментов.

Если при последнем запуске FileMon были настроены какие-либо фильтры, при следующем запуске программа попросит подтвердить их использование. Чтобы запустить FileMon без запроса подтверждения, достаточно указать в командной строке параметр /q. После запуска программа автоматически начинает регистрировать операции с файловой системой. Чтобы запустить FileMon, отключив запись операций, нужно указать в командной строке параметр /o.

Когда события записываются в выходные данные, им присваиваются последовательные номера. Если внутренние буферы Filemon переполнены, что случается при слишком большом количестве операций, в последовательности номеров появляются промежутки.

Каждый раз, когда вы выходите из FileMon, программа запоминает настроенные фильтры, положение окна и ширину столбцов выходных данных.

Фильтрация

В диалоговом окне «Filter» (Фильтр), которое открывается с помощью кнопки на панели инструментов или команды меню «Edit|Filter/Highlight» (Правка|Фильтр/Выделение), можно указать, какие данные должны отображаться в списке. Знак подстановки «*» соответствует произвольной строке; фильтры не зависят от регистра букв. В списке отображаются только те данные, которые определены во включающем фильтре и при этом не определены в исключающем фильтре. Строки в фильтре разделяются точкой с запятой, например: «filemon;temp». Примечание для Windows NT и 2000. Поскольку ввод и вывод для файловой системы выполняются асинхронно, фильтрацию по полю результатов выполнить нельзя.

Например, если настроены включающий фильтр «c: emp» и исключающий фильтр «c: empподкаталог», программа будет отслеживать обращения ко всем файлам и каталогам в папке c: emp, за исключением тех, которые находятся в папке c: empподкаталог.

С помощью знаков подстановки можно задавать сложные образцы для сопоставления, что позволяет, к примеру, отслеживать обращения к конкретным файлам со стороны конкретных приложений. Так, если настроен включающий фильтр «Winword*Windows», программа FileMon будет показывать только обращения приложения Microsoft Word к файлам и каталогам, в имени которых есть слово «Windows».

С помощью фильтра выделения можно указать, какие строки в списке следует выделить цветом. Цвета для выделения задаются с помощью пункта меню «Edit|Highlight Colors» (Правка|Цвета выделения).

Дополнительные параметры фильтрации позволяют выбрать или исключить операции чтения, записи или открытия. Например, при работе над устранением неполадок часто представляют интерес только операции открытия файлов или каталогов.

Выбор томов (Windows NT/2K/XP/2K3)

Для выбора или исключения томов для отслеживания необходимо использовать меню «Volumes» (Тома). Чтобы отслеживать доступ к любым сетевым ресурсам, включая удаленные общие папки и доступ по пути UNC к удаленным томам, можно воспользоваться пунктом «Network» (Сеть) этого меню.

Ограничение объема выходных данных

Диалоговое окно «History Depth» (Число записей), которое можно открыть с помощью соответствующей кнопки на панели инструментов или пункта меню «Edit|History» (Правка|Записи), позволяет указать максимальное количество строк в окне вывода. Значение 0 означает отсутствие ограничений.

Поиск по выходным данным

Выполнить поиск нужных строк в окне вывода можно с помощью команды меню «Find» (Поиск) или соответствующей кнопки на панели инструментов. Поиск в прямом направлении можно повторять с помощью клавиши F3, а в обратном — с помощью сочетания клавиш Shift+F3. Чтобы начать поиск с конкретной строки выходных данных, необходимо выделить ее, щелкнув самое левое поле этой строки (порядковый номер). Если ни одна строка не выделена, новый поиск начинается с первой (при выполнении поиска сверху вниз) или последней (при выполнении поиска снизу вверх) записи.

Параметры

Программа FileMon может показывать либо время выполнения операций, либо их длительность. Меню «Options» (Параметры) и кнопка с изображением часов на панели инструментов позволяют переходить из одного режима в другой. В зависимости от текущего режима на панели инструментов изображается значок часов или секундомера. Если установлен режим показа длительности операции, то значение в поле «Time» (Время) соответствует числу секунд, которое потребовалось файловой системе для обслуживания конкретного запроса. Команда меню «Options|Show Milliseconds» (Параметры|Показывать миллисекунды) позволяет отображать время с точностью до миллисекунд.

Чтобы окно FileMon всегда отображалось поверх остальных окон, достаточно выбрать команду меню «Options|Always On Top» (Параметры|Поверх остальных окон). Кроме того, с помощью команды меню «Options|Auto Scrol» (Параметры|Автопрокрутка) или соответствующей кнопки на панели инструментов можно указать, чтобы список в окне FileMon не прокручивался.

Именованные каналы и каналы передачи сообщений электронной почты

Начиная с версии 4.1, программа FileMon может отслеживать операции файловой системы с именованными каналами и каналами передачи сообщений электронной почты для Windows NT/2K Именованные каналы обычно используются в качестве механизма взаимодействия в основных подсистемах NT/Win2K, таких как подсистема локального администратора безопасности (LSASS). Модель DCOM также использует именованные каналы. Кроме того, с ними работают и сетевые компоненты, например служба обозревателя. Чтобы увидеть операции с именованными каналами с помощью FileMon, достаточно выбрать в меню «Drives» (Диски) пункт «Named Pipes» (Именованные каналы), а затем выполнить какую-нибудь операцию на общем сетевом ресурсе или открыть приложение, такое как Regedt32, которое взаимодействует с подсистемой безопасности.

Принцип работы FileMon

Для драйвера Windows 9x в основе работы FileMon лежит драйвер виртуального устройства Filevxd.vxd. Он загружается динамически, а в ходе своей инициализации устанавливает с помощью службы VxD фильтр файловой системы IFSMGR_InstallFileSystemApiHook, что позволяет ему встроиться в цепочку вызовов всех запросов к файловой системе. В ОС Windows NT в основе работы FileMon лежит драйвер файловой системы, который создает объекты устройств фильтра и привязывает их к конечным объектам устройств файловой системы, что позволяет программе просматривать все запросы IRP и FastIO, направляемые дискам. Когда программа FileMon регистрирует запрос на открытие, создание или закрытие файла или каталога, она обновляет внутреннюю хэш-таблицу, которая представляет собой список соответствий между внутренними дескрипторами файлов и путями к этим файлам. Если же выполняется какой-то вызов на основе дескриптора, программа ищет в таблице запись для этого дескриптора, чтобы вывести соответствующий полный путь к файлу. Если файл, на который ссылается дескриптор, был открыт до запуска FileMon, соответствующая запись в хэш-таблице не будет найдена, и тогда программа просто выведет значение дескриптора.

Информация о доступе к файловой системе записывается в формате ASCII в буфер, который периодически копируется в список, отображаемый в окне программы.

Условия распространения: Freeware (как и все с этого сайта)

Обновлено: 11.03.2015