Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf
Добавлен: 29.10.2018
Просмотров: 33128
Скачиваний: 742

372 Часть
II
Работа с утилитами
-------* Instruction Cache 7, Level 1, 64 KB, Assoc 2, LineSize 64
-------* Unified Cache 8, Level 2, 512 KB, Assoc 16, LineSize 64
----**** Unified Cache 9, Level 3, 2 MB, Assoc 1, LineSize 64
Logical Processor to Group Map:
******** Group 0
ProcFeatures
ProcFeatures — простая утилита командной строки, определяющая с помо-
щью функции Windows IsProcessorFeaturePresent, поддерживает ли процес-
сор и Windows различные функции, такие как страницы памяти No-Execute,
расширения физических адресов (Physical Address Extensions, PAE) и счет-
чик циклов реального времени. Основная задача этой утилиты — выявле-
ние систем с ядром PAE и поддерживающих аппаратный запрет выполнения
данных (Data Execution Prevention). ProcFeatures не требует администра-
торских прав. На рис. 14-8 показан пример выходных данных для системы
Intel Core2 Duo с 64-разрядной версией Windows 7.
Рис. 14-8. ProcFeatures
WinObj
WinObj — утилита с графическим интерфейсом, которая позволяет просма-
тривать пространство имен диспетчера объектов Windows и информацию о
содержащихся в нем объектах. Диспетчер объектов поддерживает иерархию
каталогов и общий интерфейс для создания, удаления и защиты объектов и
обращения к ним. Подробнее о Диспетчере объектов см. в пятой редакции
книги «Windows Internals».
WinObj работает во всех версиях Windows и не требует администратор-
ских прав. Однако при запуске с администраторскими правами можно по-
лучить больше информации, так как некоторые области пространства имен
Диспетчера объектов требуют их даже для просмотра. А поскольку доступ
SIN_ch_14.indd 372
27.12.2011 14:38:42

Утилиты для получения информации о системе
Глава 14 373
к некоторым объектам есть только у системной учетной записи, для полу-
чения наиболее полных данных обычно нужно запустить WinObj от имени
системы (это можно сделать при помощи утилиты PsExec, описанной в гла-
ве 6). В Windows Vista и выше можно перезапустить WinObj с повышенны-
ми правами, выбрав команду File | Run As Administrator (Файл | Запуск
от имени администратора). Как показано на рис. 14-9, WinObj отображает
иерархию каталогов Диспетчера объектов в виде дерева в левой части окна.
Имя корневого каталога — просто косая черта. Если выбрать каталог в левой
части окна, в правой части будут показаны объекты, содержащиеся в этом
каталоге. Если выбрать каталог в левой части или объект в правой, в строке
состояния будет показан полный путь к элементу. Данные можно обновить
в любое время, нажав F5.
Рис. 14-9. WinObj
Сортируемая таблица в правой части окна содержит имена и типы объек-
тов; для символьных ссылок в столбце SymLink указана цель ссылки. Чтобы
отсортировать список объектов по какому-либо столбцу, щелкните на его
заголовке. Рядом с именем объекта показан значок, соответствующий типу
объекта:
• мьютексы (мутанты) — замок;
• разделы (объекты-проекции файлов) — чип памяти;
• события — треугольник с восклицательным знаком;
• события KeyedEvents — тот же значок, что и у событий, но с ключом;
• семафоры — значок, напоминающий дорожный знак;
• символьные ссылки — изогнутая стрелка;
• устройства — изображение компьютера;
• драйверы — стандартный значок .sys-файлов;
• оконные станции — монитор;
• таймеры — часы;
• другие объекты, такие как порты и задачи ALPC — шестеренки.
SIN_ch_14.indd 373
27.12.2011 14:38:42

374 Часть
II
Работа с утилитами
Для просмотра дополнительной информации о каталоге или объекте щел-
кните правой кнопкой мыши и выберите команду Properties (Свойства).
Окно свойств (рис. 14-10) можно также открыть двойным щелчком на объ-
екте (но если это символьная ссылка, будет выполнен переход по ссылке).
Рис. 14-10. Окно свойств объекта
Вкладка Details (Подробно) диалогового окна свойств содержит следу-
ющую информацию для объектов всех типов:
• имя и тип объекта;
• является ли объект «постоянным», т.е. объектом, который не удаляется
автоматически, когда ссылок на него не остается;
• счетчики ссылок и описателей. Поскольку каждый описатель включает
ссылку на объект, счетчик ссылок никогда не бывает меньше счетчика
описателей. Разница между этими двумя значениями — число прямых
ссылок на структуру объекта из режима ядра, а не косвенных (через опи-
сатель);
• квота — объем пулов подкачиваемой и неподкачиваемой памяти, кото-
рый добавляется в квоту процесса при создании объекта.
В нижней части вкладки Details (Подробно) показана информация,
специфичная для объекта, если таковая доступна. Например, для символь-
ной ссылки показывается время создания и путь к целевому объекту, а для
объекта-события показывается тип и указывается, свободен ли он.
На вкладке Security (Безопасность) диалогового окна свойств показаны
общие разрешения на доступ к объекту. Однако заметьте, что открыть можно
объекты не всех типов, а разрешения определенного объекта могут запре-
щать просмотр его свойств.
Особый интерес представляют следующие каталоги:
SIN_ch_14.indd 374
27.12.2011 14:38:43

Утилиты для получения информации о системе
Глава 14 375
• \BaseNamedObjects — содержит объекты, создаваемые в глобальном
пространстве имен, такие как события и семафоры, а также объекты, ко-
торые создаются в локальном пространстве имен процессами, работаю-
щими в нулевом сеансе служб терминалов.
• \Sessions\n — содержит закрытые данные сеансов быстрого переклю-
чения пользователей и служб терминалов, указанных номерами n, где n
равно или больше 1.
• \Sessions\n\BaseNamedObjects — содержит объекты, такие как события
и семафоры, созданные в локальном пространстве имен процессов, рабо-
тающих в сеансах быстрого переключения пользователей и служб терми-
налов, указанных номерами n.
• \Sessions\0\DosDevices\LUID — содержит закрытые данные сеансов
LSA, указанного в имени каталога локально уникальным идентификато-
ром (LUID), включая подключения SMB, буквы сетевых дисков и сопо-
ставления SUBST.
• \GLOBAL?? — содержит символьные ссылки, связывающие с устрой-
ствами глобальные имена, включая глобально определенные буквы дис-
ков и другие имена устройств MS-DOS, такие как AUX и NUL.
\KnownDLLs и \KnownDlls32 — имена и пути разделов для библио-
тек DLL, проецируемых системой при загрузке. Каталог \KnownDlls32 су-
ществует только в 64-разрядных версиях Windows и содержит список 32-
разрядных версий стандартных DLL.
LoadOrder
LoadOrder (Loadord.exe) — простая утилита, показывающая примерный по-
рядок, в котором Windows загружает драйверы устройств и запускает служ-
бы. LoadOrder работает во всех версиях Windows и не требует администра-
торских прав.
LoadOrder определяет порядок драйверов и служб на основе стартового зна-
чения, имени группы, идентификатора тега и зависимостей. Утилита показы-
вает все эти атрибуты, кроме зависимостей (рис. 14-11). Первыми загружаются
драйверы, которые запускаются при загрузке, затем драйверы, запускаемые си-
стемой, а затеем драйверы и службы с автоматической загрузкой. Заметьте, что
драйверы и службы, запускаемые по запросу (вручную), не отображаются. На
этапе запуска Windows загружает драйверы по группам, а в пределах группы —
по идентификатору-метке. Группы загружаются в том порядке, в каком перечис-
лены в разделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder,
а метки назначаются в порядке, указанном для соответствующей группы в раз-
деле HKLM\System\CurrentControlSet\Control\ GroupOrderList. Группы и
метки, не указанные в этих разделах, игнорируются при определении порядка
загрузки; LoadOrder помечает их звездочкой. В дополнение к стартовому зна-
чению, имени группы и метке, LoadOrder показывает для каждого драйвера и
службы внутреннее и отображаемое имена, а также путь к образу.
SIN_ch_14.indd 375
27.12.2011 14:38:43

376 Часть
II
Работа с утилитами
Рис. 14-11. LoadOrder
Рис. 14-12. PipeList
Чтобы скопировать данные из окна LoadOrder в буфер обмена в виде тек-
ста с разделителями-табуляторами, щелкните кнопку Copy (Копировать).
Некоторые драйверы и службы могут загружаться не в том порядке, какой
показывает LoadOrder. Драйверы Plug-and-Play обычно регистрируются как
запускаемые по запросу, и поэтому не показываются, но они загружаются во
время определения и перечисления устройств. Кроме того, LoadOrder не де-
лает различий между службами с автоматической загрузкой («Automatic»)
и автоматической загрузкой с задержкой («Automatic (Delayed Start)»).
Последние загружаются после служб с автоматической загрузкой.
Подробнее о том, как Windows загружает и запускает драйверы и служ-
бы, см. в пятой редакции книги «Windows Internals».
SIN_ch_14.indd 376
27.12.2011 14:38:43