Сервисные программы Sysinternals
Часть статьи подготовлена по материалам с сайта http://technet.microsoft.com/
Сервисные программы Sysinternals помогают как специалистам по информационным технологиям, так и разработчикам управлять, находить и устранять неисправности и выполнять диагностику приложений и операционных систем Windows.
Служебные программы для работы с файлами и дисками
Служебные программы для просмотра и наблюдения за доступом к файлам и дискам и их использованием.
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.
Примечание: Программа Filemon заменена программой Process Monitor в версиях Windows, начиная с Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1 и Windows Vista. Однако программы Filemon and Regmon оставлены для поддержки устаревших операционных систем, включая и Windows 9x.
Введение
Программа FileMon отслеживает и отображает в реальном времени все операции с файловой системой. Это мощный инструмент, позволяющий наблюдать, как работает система Windows, отслеживать, как приложения используют файлы и библиотеки DLL, а также решать проблемы, связанные с настройкой файлов системы или приложений. Программа Filemon точно отмечает время выполнения операций открытия, чтения, записи или удаления файла или каталога. В столбце состояния выводится результат выполнения каждой из этих операций. Стоит отметить простоту в использовании программы FileMon. Сразу после запуска FileMon начинает отслеживание, а ее выходные данные можно сохранить в файл для автономного просмотра. В программе реализованы все возможности для поиска, а если вам кажется, что она выводит слишком много информации, просто настройте один или несколько фильтров.
Установка и использование
Для запуска программы необходимо иметь права администратора. FileMon работает без установки, запустите программу двумя щелчками мыши по файлу filemon.exe. Когда программа запускается в первый раз, она отслеживает все локальные жесткие диски. Чтобы очистить окно программы, выбрать или удалить тома для наблюдения, включая сетевые тома (Windows NT/2K/XP), сохранить полученные данные в файл, а также отфильтровать выходные данные или выполнить по ним поиск, можно воспользоваться командами меню, сочетаниями клавиш или кнопками панели инструментов.
Если при последнем запуске FileMon были настроены какие-либо фильтры, при следующем запуске программа попросит подтвердить их использование. Чтобы запустить FileMon без запроса подтверждения, достаточно указать в командной строке параметр /q. После запуска программа автоматически начинает регистрировать операции с файловой системой. Чтобы запустить FileMon, отключив запись операций, нужно указать в командной строке параметр /o.
Когда события записываются в выходные данные, им присваиваются последовательные номера. Если внутренние буферы Filemon переполнены, что случается при слишком большом количестве операций, в последовательности номеров появляются промежутки.
Каждый раз, когда вы выходите из FileMon, программа запоминает настроенные фильтры, положение окна и ширину столбцов выходных данных.
Фильтрация
В диалоговом окне Filemon filter (Filemon Фильтр), которое открывается с помощью кнопки на панели инструментов или команды меню Options - Filter/Highlight (Параметры - Фильтр/Выделение), можно указать, какие данные должны отображаться в списке. Знак подстановки * соответствует произвольной строке; фильтры не зависят от регистра букв. В списке отображаются только те данные, которые определены во включающем фильтре (Include) и при этом не определены в исключающем фильтре (Exclude). Строки в фильтре разделяются точкой с запятой, например: opera;winamp;explorer. Примечание для Windows NT и 2000. Поскольку ввод и вывод для файловой системы выполняются асинхронно, фильтрацию по полю результатов выполнить нельзя.
Например, если настроены включающий фильтр c:\temp и исключающий фильтр c:\temp\подкаталог, программа будет отслеживать обращения ко всем файлам и каталогам в папке c:\temp, за исключением тех, которые находятся в папке c:\temp\подкаталог.
С помощью знаков подстановки можно задавать сложные образцы для сопоставления, что позволяет, к примеру, отслеживать обращения к конкретным файлам со стороны конкретных приложений. Так, если настроен включающий фильтр Winword*Windows, программа FileMon будет показывать только обращения приложения Microsoft Word к файлам и каталогам, в имени которых есть слово Windows.
С помощью фильтра выделения (Highlight) можно указать, какие строки в списке следует выделить цветом. Цвета для выделения задаются с помощью пункта меню Options - Highlight Colors (Параметры - Цвета выделения).
Дополнительные параметры фильтрации позволяют выбрать или исключить операции чтения, записи или открытия, а также выводить логи успехов и ошибок при чтении файлов. Например, при работе над устранением неполадок часто представляют интерес только операции открытия файлов или каталогов.
Выбор томов (Windows NT/2K/XP/2K3)
Для выбора или исключения томов для отслеживания необходимо использовать меню Volumes (Тома). Чтобы отслеживать доступ к любым сетевым ресурсам, включая удаленные общие папки и доступ по пути UNC к удаленным томам, можно воспользоваться пунктом Network (Сеть) этого меню.
Ограничение объема выходных данных
Диалоговое окно History Depth (Число записей), которое можно открыть с помощью соответствующей кнопки на панели инструментов или пункта меню Options - History Depth (Параметры - Число записей), позволяет указать максимальное количество строк в окне вывода. Значение 0 означает отсутствие ограничений.
Поиск по выходным данным
Выполнить поиск нужных строк в окне вывода можно с помощью команды меню Edit - 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, достаточно выбрать в меню Volumes (Тома) пункт Named Pipes (Именованные каналы), а затем выполнить какую-нибудь операцию на общем сетевом ресурсе или открыть приложение, такое как Regedt32, которое взаимодействует с подсистемой безопасности.
Принцип работы FileMon
Для драйвера Windows 9x в основе работы FileMon лежит драйвер виртуального устройства Filevxd.vxd. Он загружается динамически, а в ходе своей инициализации устанавливает с помощью службы VxD фильтр файловой системы IFSMGR_InstallFileSystemApiHook, что позволяет ему встроиться в цепочку вызовов всех запросов к файловой системе. В ОС Windows NT в основе работы FileMon лежит драйвер файловой системы, который создает объекты устройств фильтра и привязывает их к конечным объектам устройств файловой системы, что позволяет программе просматривать все запросы IRP и FastIO, направляемые дискам. Когда программа FileMon регистрирует запрос на открытие, создание или закрытие файла или каталога, она обновляет внутреннюю хэш-таблицу, которая представляет собой список соответствий между
внутренними дескрипторами файлов и путями к этим файлам. Если же выполняется какой-то вызов на основе дескриптора, программа ищет в таблице запись для этого дескриптора, чтобы вывести соответствующий полный путь к файлу. Если файл, на который ссылается дескриптор, был открыт до запуска FileMon, соответствующая запись в хэш-таблице не будет найдена, и тогда программа просто выведет значение дескриптора.
Информация о доступе к файловой системе записывается в формате ASCII в буфер, который периодически копируется в список, отображаемый в окне программы.
Process Monitor
Process Monitor — инструмент для мониторинга системы, который не только заменяет программы Regmon и Filemon, выполняя мониторинг системы и реестра, но помимо этого еще и отслеживает процессы, потоки и DLL, а также имеет возможность расширенной фильтрации, информирования о событиях и обладает основными возможностями обработки данных.
VolumeID
Программа VolumeID работает в системах Windows 9x и Windows NT/2K/XP/2K3.
Введение
Программа Label, имеющаяся в комплекте ОС WinNT/2K и Windows 9x, позволяет изменять метки томов, но не подерживает средств редактирования их идентификаторов. Программа VolumeID позволяет изменять идентификаторы дисков FAT и NTFS (как гибких, так и жестких дисков).
Установка и использование
Скопируйте программу VolumeID в папку для исполняемых файлов и затем введите в окне интерпретатора командной строки:
volumeid <буква_диска:> xxxx-xxxx
,где xxxx-xxxx - идентификатор тома в шестнадцатеричном виде.
Примечание: Следует иметь в виду, что изменения томов NTFS становятся видимыми только после перезагрузки. Кроме того, перед изменением идентификатора тома необходимо закрыть все работающие приложения. В противном случае NT может предположить, что после изменения идентификатора тома FAT сменился физический носитель (диск), и начать выводить сообщения, приглашая установить исходный диск (!). После этого возможен отказ в исполнении запросов на доступ к дискам, поступающих от приложений.
Служебные программы для работы с сетью
Инструменты для сети: от мониторов подключений до анализаторов безопасности ресурсов.
Whois
Служебная программа Whois выполняет вывод регистрационных данных для указанного имени домена или IP-адреса. Запуск программы осуществляется из интерпретатора командной строки (англ. command line interpreter).
Установка и использование
Whois работает без установки, скопируйте программу в папку для исполняемых файлов и затем введите команду:
whois имя_домена [whois.сервер]
Параметр имя_домена может быть либо именем службы DNS (например, embrozy.ru), либо IP-адресом (например 66.193.254.46). После ввода команды нажмите клавишу Enter и вы увидите регистрационные данные для указанного имени домена или IP-адреса.
Дополнение: Вы можете задать свой whois-сервер, для этого пропишите его после имени домена.
Пример
whois embrozy.ru whois.ripn.net
PsFile
Программа PsFile работает в операционных системах NT 4.0, Win2K, Windows XP и Server 2003.
Введение
Команда net file выводит на экран список файлов, открытых другими компьютерами в системе, в которой выполняется данная команда, однако она усекает длинные имена путей и не позволяет просматривать эти данные для удаленных систем. Служебная программа PsFile с интерфейсом командной строки выводит на экран список файлов системы, которые открыты удаленно, а также позволяет закрывать открытые файлы по имени или по идентификатору файла.
Установка и использование
Скопируйте программу PsFile в папку для исполняемых файлов и затем введите psfile в окне интерпретатора командной строки.
По умолчанию программа PsFile выводит список файлов локальной системы, которые открыты удаленными системами. Введите /? после команды psfile для вывода на экран информации о синтаксисе этой команды:
-u - Позволяет указать необязательное имя пользователя для входа в систему удаленного компьютера.
-p - Позволяет указать пароль для имени пользователя. Если этот параметр опущен, то появится подсказка, предлагающая ввести пароль, при этом он не будет отображаться на экране.
Id - Идентификатор файла (присвоенный программой PsFile), для которого необходимо вывести информацию или который нужно закрыть.
путь - Полный или частичный путь к файлам, для которых необходимо вывести информацию или которые нужно закрыть.
-c - Позволяет закрыть файлы, определенные с помощью идентификатора или пути.
Синтаксис программы
psfile [\\удаленный_компьютер [-u имя_пользователя [-p пароль]]] [[Id | путь] [-c]]
Пример
psfile \\10.0.11.144 -u user -p 123
STREAMS
Отображает дополнительные потоки данных файловой системы NTFS.
Файловая система NTFS позволяет приложениям создавать дополнительные информационные потоки данных. По умолчанию, все данные хранятся в основном безымянном потоке данных файла, но синтаксис "файл:поток" позволяет выполнять чтение и запись в дополнительные потоки. Доступ к дополнительным потокам предусмотрен не во всех приложениях, однако демонстрация использования потоков не составит труда. Сначала средствами командной строки перейдите в каталог на диске NTFS. Затем введите команду
echo hello > test:stream
В результате будет создан поток под названием stream, ассоциированный с файлом test. Обратите внимание: размер файла test приравнивается к нулю и при открытии в любом текстовом редакторе он выглядит пустым. Для просмотра потока введите команду
more < test:stream
Команда type не поддерживает синтаксис потоков, отсюда необходимость в применении команды more.
В NT не предусмотрены средства, позволяющие узнать перечень файлов NTFS с ассоциированными потоками. Программа Streams анализирует указанные вами файлы и каталоги (у каталогов могут быть дополнительные потоки данных) и сообщает имена и размеры всех именованных потоков, встречающихся в этих файлах. Она основывается на недокументированной собственной функции извлечения данных о файловых потоках.
Синтаксис программы
streams [-s] [-d] <файл или каталог>
-s - Рекурсивный обход вложенных каталогов.
-d - Удаление потоков.
При указании потоков допускается применение шаблонов – например, "streams *.txt".
ShareEnum
Программа ShareEnum работает в операционных системах Windows NT/2000/XP.
Введение
ShareEnum позволяет выполнять сканирование общих файловых ресурсов сети и просматривать их параметры безопасности для устранения брешей в системе безопасности.
При решении вопросов безопасности компьютерных сетей под управлением операционных систем Windows NT/2000/XP общим файловым ресурсам часто не уделяется должное внимание. Системы безопасности часто имеют характерный изъян, связанный с тем, что пользователи предоставляют общий доступ к файловым ресурсам, не обеспечивая достаточного уровня защиты, что позволяет не имеющим соответствующих прав пользователям просматривать конфиденциальные файлы. В системе нет встроенных средств для формирования списков видимых в сети общих ресурсов с указанием их параметров безопасности, но программа ShareEnum заполняет этот пробел и позволяет блокировать общие файловые ресурсы сети.
Установка и использование программы ShareEnum
ShareEnum работает без установки, запустите программу двумя щелчками мыши по файлу ShareEnum.exe. Так как только администратор домена имеет возможность просматривать все сетевые ресурсы, программа ShareEnum наиболее эффективна в случае ее запуска из учетной записи администратора домена.
При запуске программы ShareEnum выполняется сканирование всех компьютеров, входящих в доступные ей домены, и отображается список общих файловых ресурсов и ресурсов печати, а также их параметры безопасности. Для этого программа использует функции формирования списков протокола NetBIOS.
TCPView
Программа TCPView работает в операционных системах Windows NT/2000/XP и Windows 98/Me. Программу TCPView можно использовать также в операционной системе Windows 95 при условии установки пакета обновления Winsock 2 для ОС Windows 95, предоставляемого корпорацией Майкрософт.
Введение
TCPView — это программа, предназначенная для операционной системы Windows, которая выводит на экран списки конечных точек всех установленных в системе соединений по протоколам TCP и UDP с подробными данными, в том числе с указанием локальных и удаленных адресов и состояния TCP-соединений. В операционных системах Windows NT, 2000 и XP программа TCPView также сообщает имя процесса, которому принадлежит конечная точка. Программа TCPView является дополнением программы netstat, поставляемой вместе с ОС Windows, и предоставляет расширенный набор сведений в более удобной форме. В комплект загрузки программы TCPView входит программа Tcpvcon с теми же функциональными возможностями, предназначенная для работы в режиме командной строки.
Установка и использование программы TCPView
TCPView работает без установки, запустите программу двумя щелчками мыши по файлу TCPView.exe.
При запуске программа TCPView формирует список всех активных конечных точек соединений по протоколам TCP и UDP, отображая все IP-адреса в виде доменных имен. Чтобы переключить режим отображения для просмотра адресов в цифровом виде, можно использовать кнопку панели инструментов или пункт меню. В операционных системах Windows NT, 2000 и XP программа TCPView для каждой конечной точки отображает имя процесса, которому эта точка принадлежит.
По умолчанию программа TCPView обновляет информацию один раз в секунду, но период обновления можно изменить с помощью пункта Update Speed (Скорость обновления) в меню View (Просмотр). Если в период между обновлениями состояние конечной точки изменилось, она выделяется желтым цветом, если конечная точка удалена — красным цветом, новые конечные точки отображаются зеленым цветом.
Чтобы закрыть установленные подключения по протоколам TCP/IP (с отметкой состояния ESTABLISHED (установлено)), можно выбрать пункт Close Connections (Закрыть подключения) в меню File (Файл) или щелкнуть правой кнопкой мыши какое-либо подключение и выбрать в контекстном меню пункт Close Connections.
Данные, отображенные в окне программы TCPView, можно сохранить в виде файла с помощью пункта меню File - Save (Файл - Сохранить).
Установка и использование программы Tcpvcon
Скопируйте программу Tcpvcon в папку для исполняемых файлов (C:\WINDOWS) и затем введите tcpvcon в окне интерпретатора командной строки.
Применение программы Tcpvcon аналогично применению служебной программы netstat, которая встроена в операционную систему Windows.
Введите /? после команды tcpvcon для вывода на экран информации о синтаксисе этой команды:
-a - Показать все конечные точки (по умолчанию на экран выводятся установленные TCP-соединения).
-c - Распечатать в формате CSV.
-n - Не выполнять разрешение адресов.
Синтаксис программы
tcpvcon [-a] [-c] [-n] [имя процесса или PID]
Пример
tcpvcon -a
Безопасность
Сервисные программы для настройки и управления системой безопасности, в том числе средства обнаружения rootkit и охотники за программами-шпионами.
AccessEnum
AccessEnum работает в операционных системах Windows NT/2000/XP/2003.
Введение
Небольшая, но мощная программа для анализа безопасности. Выводит список пользователей и групп, у которых есть доступ к файлам, папкам и разделам реестра, благодаря чему можно искать уязвимости в настройках разрешений доступа.
Гибкая модель безопасности операционных систем Windows на основе технологии NT позволяет в полной мере управлять безопасностью и правами доступа к файлам. Однако распределение прав таким образом, чтобы все пользователи имели надлежащий доступ к файлам, каталогам и разделам реестра, может оказаться сложной задачей. Встроенного в систему способа быстрого просмотра прав доступа пользователей к дереву каталогов или разделов реестра не существует. Программа AccessEnum за несколько секунд создает детальный отчет по параметрам безопасности файловой системы и реестра, что делает ее идеальным инструментом для поиска брешей в системе безопасности и определения излишних прав доступа, которые следует снизить.
Установка и использование
AccessEnum работает без установки, запустите программу двумя щелчками мыши по файлу AccessEnum.exe.
По умолчанию AccessEnum сканирует директорию C:\WINDOWS, чтобы изменить путь воспользуйтесь кнопкой Directory... Если требуется проанализировать раздел реестра, воспользуйтесь кнопкой Registry...
Сведения о системе
Сервисные программы для просмотра и настройки использования системных ресурсов.
PsInfo
Программа PsInfo работает в Windows NT 4.0 и в более поздних версиях ОС, в том числе в Windows Vista.
Введение
PsInfo — это утилита командной строки, которая собирает основные данные о локальной или удаленной системе Windows NT/2000 — в частности, о типе установки, сборке ядра, зарегистрированной организации и владельце, числе и типе процессоров, объеме физической памяти, дате установки системы, статусе пробной версии и сроке ее действия.
Установка и использование
Скопируйте программу Psinfo.exe в папку для исполняемых файлов (C:\WINDOWS) и затем введите psinfo в окне интерпретатора командной строки.
По умолчанию программа PsInfo выведит сведения о локальной системе. Для получения сведения об удаленной системе надо указать ее имя. Так как для получения данных программа PsInfo обращается к удаленному реестру, в искомой системе должна работать служба удаленного реестра, а учетная запись, от имени которой запускается PsInfo, должна иметь доступ к разделу HKLM\System удаленного реестра.
Программа PsInfo возвращает номер пакета обновления, установленного в системе, в виде значения (где 0 обозначает отсутствие пакета обновления (Service Pack), 1 — пакет обновления 1 и т.д.).
Добавьте символы /? после команды systeminfo для вывода на экран параметров и синтаксиса команды.
Синтаксис
psinfo [[\\компьютер[,компьютер[,..] | @файл [-u пользователь [-p пароль]]] [-h] [-s] [-d] [-c [-t разделитель]] [фильтр] \\компьютер
Запуск команды на удаленном компьютере или на указанных компьютерах. Если не указывать имя компьютера, команда будет исполнена в локальной системе; подстановочный знак (\\*) позволяет выполнить команду на всех компьютерах, относящихся к текущему домену.
@файл - Запуск команды на всех компьютерах, перечисленных в заданном текстовом файле.
-u - Позволяет в факультативном порядке указать имя пользователя для входа в удаленную систему.
-p - Позволяет в факультативном порядке указать пароль, соответствующий имени пользователя. Если пароль не указан в команде, его придется ввести в скрытом режиме в специальном окне.
-h - Вывод списка установленных исправлений.
-s - Вывод списка установленных приложений.
-d - Вывод информации о томах.
-c - Вывод в формате CSV.
-t - По умолчанию с параметром -c в качестве разделителя применяется запятая, однако ее можно заменить указанным символом.
фильтр - Программа PsInfo выводит данные только из поля, совпадающего со значением фильтра; например, при указании фильтра "psinfo service" выводится только содержимое поля пакета обновления.