Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf
Добавлен: 29.10.2018
Просмотров: 22706
Скачиваний: 610
Предисловие
Просьба Марка и Аарона написать вступление для этой книги — большая
честь для меня. Я познакомился с Марком и его утилитами в 1997 году, когда
впервые услышал его выступление на конференции разработчиков Windows
в Санта Клара, Калифорния. Тогда я не знал, что через два года мы будем вме-
сте работать над «Inside Windows 2000» и следующими редакциями «Windows
Internals».
Из-за того что я работал с Марком над книгами, а потом над курсами по
Windows Internals, которые мы вместе создавали и вели, дифирамбы за ути-
литы Sysinternals часто пели мне (что не очень нравилось Марку). Конечно,
благодарности хотелось принять, но правда такова: я постоянно пользуюсь
этими утилитами, но не создал ни одну из них.
Потребность в книге по утилитам Sysinternals назрела уже очень давно, но
факт, что их успешно используют и без книги, объясняющей принципы их рабо-
ты, говорит сам за себя. Книга еще шире раскрывает перед ИТ-специалистами
возможности утилит Sysinternals, позволяет заглянуть внутрь Windows и по-
настоящему понять, что там происходит. Аарон Маргозис подверг эти утилиты
дотошному анализу, что позволило внести многие улучшения, исправить не-
точности, дополнить справочный текст и добавить новые функции.
При помощи этих утилит я выловил и исправил огромное количество оши-
бок в системах и приложениях, даже в отчаянных ситуациях, когда я просто не
думал, что от этих утилит будет толк. В результате я пришел к такому выводу:
если сомневаешься, запускай Filemon и Regmon (вместо них теперь Procmon).
Чтобы научить читателей применять утилиты для решения реальных
проблем, в книге есть целый раздел с «рецептами» решения типичных за-
дач. Эти примеры из жизни помогут ИТ-специалистам в работе с утилитами
Sysinternals при устранении неполадок, кажущихся неустранимыми.
Под занавес небольшое предупреждение: не помню, сколько раз я писал
Марку об ошибках (которые он уже исправил). Поэтому, прежде чем отправ-
лять ему письмо об очередном баге, убедитесь, что используете последние вер-
сии утилит. Для этого лучше всего следить за RSS-каналом сайта Sysinternals.
Словом, эта книга должна быть настольной у каждого ИТ-специалиста.
А если увидите Марка, непременно скажите ему, как высоко вы цените рабо-
ту Дэйва над утилитами Sysinternals!
Дэвид Соломон, Президент компании David Solomon
Expert Seminars, Inc., www.solsem.com
SIN_intro.indd XV
27.12.2011 14:45:34
Введение
Пакет Sysinternals включает более 70 утилит для диагностики и устра-
нения неполадок платформы Windows, написанных мной (Марком
Руссиновичем) и Брайсом Когсвеллом. С 2006 года (после приобретения
корпорацией Microsoft фирмы Sysinternals) эти утилиты доступны для
бесплатной загрузки на сайте Microsoft Windows Sysinternals (в составе
Microsoft TechNet).
Цель этой книги — познакомить вас с утилитами Systinternals и помочь
понять, как использовать их максимально эффективно. Также мы покажем,
как с помощью этих утилит устранять неполадки Windows.
Книга написана в соавторстве с Аароном Магозисом, но повествование
ведется от моего лица. Однако это нисколько не умаляет вклад Аарона, без
его кропотливой работы книга не увидела бы свет.
Утилиты
В этой книге описываются все утилиты Sysinternals, доступные на веб-
сайте Windows Sysinternals (http://technet.microsoft.com/en-us/sysinternals/
default.aspx) и все их функции, поддерживавшиеся на момент написания
книги (лето 2011). Однако пакет Sysinternals очень динамично развивает-
ся: в постоянно добавляются новые функции, а время от времени появля-
ются и новые утилиты (следите за RSS-каналом блога «Sysinternals Site
Discussion»: http://blogs.technet.eom/b/sysinternals). Поэтому, к моменту,
когда вы начнете читать эту книгу, кое-какие сведения могут уже устареть.
Следите за обновлениями, чтобы не пропустить новые функции и исправ-
ления ошибок.
В книге не описываются устаревшие утилиты, исключенные из пакета
Sysinternals и списка на официальном сайте. Если вы все еще используете
RegMon (Registry Monitor) или FileMon (File Monitor), замените их утили-
той Process Monitor, описанной в главе 4. Rootkit Revealer, одна из первых
утилит для обнаружения руткитов (именно с ее помощью был обнаружен из-
вестный руткит Sony), исчерпала себя и отправлена «на пенсию». Некоторые
другие утилиты (такие как Newsid и EfsDump), генерировавшие уникальные
значения, исключены за ненадобностью (соответствующие функции теперь
встроены в Windows).
SIN_intro.indd XVI
27.12.2011 14:45:35
Введение XVII
История Sysinternals
Первая утилита Sysinternals, которую я написал, Ctrl2cap, родилась из необ-
ходимости. Прежде чем перейти на Windows NT в 1995 г., я работал, в основ-
ном, с UNIX-системами. У них на клавиатуре клавиша Ctrl находилась там,
где на стандартной клавиатуре PC находится Caps Lock. Я не стал привыкать
к новой раскладке, а разобрался с драйверами устройств Windows NT и на-
писал драйвер, преобразующий нажатие Caps Lock в нажатие Ctrl. Утилита
Ctrl2cap до сих пор есть на сайте Sysinternals, а я до сих пор использую ее на
всех своих компьютерах.
Это была первая из многих утилит, написанных мной, чтобы разобраться
во внутреннем устройстве Windows NT и попутно сделать что-то полезное.
Следующую утилиту, NTFSDOS, я создал вместе с Брайсом Когсвеллом.
Я познакомился с Брайсом в магистратуре Университета Карнеги-Мел-
лона, где мы вместе работали и запустили проект по разработке ПО для
Windows 3.1. У меня возникла идея утилиты, позволяющей читать данные
с разделов NTFS после загрузки с обычной дискеты DOS. Брайс решил, что
это интересная задача для программиста, мы разделили между собой работу
и примерно через месяц выпустили первую версию.
Следующие две утилиты, Filemon и Regmon, я также написал вместе с
Брайсом. Утилиты NTFSDOS, Filemon и Regmon стали основой Sysinternals.
Утилиты Filemon и Regmon, созданные для Windows 95 и Windows NT, пока-
зывали активность файловой системы и реестра. Это были первые утилиты
подобного рода, что сделало их незаменимыми инструментами для решения
разного рода проблем.
Мы с Брайсом решили сделать наши утилиты общедоступными, но у нас
не было собственного веб-сайта, поэтому сначала мы опубликовали их на
сайте друга, Эндрю Шульмана, с которым я познакомился на почве его соб-
ственных исследований внутреннего устройства DOS и Windows 95. Такое
посредничество не позволяло нам обновлять утилиты и исправлять ошибки
так быстро, как мы того хотели, поэтому в сентябре 1996 г. мы создали свой
сайт, NTInternals.com, на котором размещали утилиты и статьи о внутрен-
нем устройстве Windows 95 и NT. Также мы разработали несколько утилит,
которые хотели продавать за деньги, поэтому тогда же мы основали компа-
нию Winternals Software, которую рекламировали баннером на NTInternals.
com. Первой утилитой, вышедшей под «крышей» Winternals Software была
NTRecover, позволяющая подключать диски систем Windows NT от перестав-
ших загружаться компьютеров к исправным и работать с ними как обычно.
Миссией NTInternals.com было распространение бесплатных утилит, в ко-
торых наше глубокое понимание устройства ОС Windows воплощалось в сред-
ства для диагностики, мониторинга и управления. За несколько месяцев посе-
щаемость сайта достигла 1500 пользователей в день, и он стал одним из самых
популярных сайтов с утилитами для Windows (см. рис.). В 1998 г. по «совету»
юристов Microsoft нам пришлось сменить название на Sysinternals.com.
SIN_intro.indd XVII
27.12.2011 14:45:35
XVIII Введение
В последующие несколько лет утилиты продолжали развиваться. Мы до-
бавляли новые утилиты, часто в ответ на предложения пользователей или
создания нового способа предоставления информации о «внутренностях»
Windows.
Сайт NT Internals, как он выглядел в декабре 1996 г. (Из Internet Archive: Wayback Machine)
Утилиты Sysinternals разделились на три основные категории: для про-
граммистов, для решения проблем и для управления системами. Утилита
DebugView, перехватывающая и показывающая информацию об отлад-
ке программ, была одним из ранних инструментов для программистов. Я
написал ее для себя, занимаясь разработкой драйверов устройств. Первые
утилиты для устранения неполадок — DLLView, отображающая библиотеки
DLL, загруженные процессами, и HandleEx, GUI-утилита, показывающая
открытые описатели (В 2001 г. я объединил их функции в Process Explorer.)
Утилиты PsTools (см. главу 6) — одни из наиболее популярных утилит для
управления, собранные в единый пакет для удобства. PsList, первая версия
PsTool, напоминала команду «ps», которая в UNIX показывает список про-
цессов. Число утилит росло, появлялись новые функции, а в итоге получил-
ся пакет, позволяющий легко решать многие задачи на удаленных системах,
не устанавливая на них специальное ПО.
В 1996 г. я также начал писать для журнала «Windows IT Pro», рассказы-
вая о внутреннем устройстве Windows и утилитах Sysinternals. Одна из моих
статей вызвала бурное обсуждение и привлекла ко мне внимание Microsoft
(впрочем, не факт, что благосклонное). В этой статье, вышедшей под заго-
ловком «Inside the Difference Between Windows NT Workstation and Windows
NT Server» («Внутренние различия Windows NT Workstation и Windows NT
SIN_intro.indd XVIII
27.12.2011 14:45:35
Введение XIX
Server»), говорится о минимальных различиях межу NT Workstation и NT
Server, что противоречило маркетинговой политике Microsoft.
По мере развития утилит я начал думать о написании книги о внутреннем
устройстве Windows. Такая книга уже существовала: «Inside Windows NT»
(Microsoft Press, 1992). Первое издание, написанное Хелен Кастер, было при-
урочено к выпуску Windows NT 3.1. Второе издание было переписано с учетом
изменений, появившихся в Windows NT 4.0, Дэвидом Соломоном — признан-
ным экспертом по операционным системам, преподавателем и писателем, с ко-
торым я работал в DEC. Чтобы не писать новую книгу в одиночку, я предложил
Дэвиду вместе работать над третьим изданием, посвященным Windows 2000.
Мои отношения с Microsoft понемногу налаживались после той статьи, благо-
даря сообщениям о багах Windows, которые я отправлял напрямую разработчи-
кам, но Дэвиду все равно пришлось получать «допуск», который ему дали.
В результате мы с Дэвидом Соломоном написали третье, четвертое и пя-
тое издания. Начиная с четвертого, книга получила название «Windows In-
ternals» (пятое издание опубликовано в 2009 г.). Вскоре после окончания
работы над «Inside Windows 2000» (Microsoft Press, 2000) я присоединился к
Дэвиду в преподавании на семинарах по внутреннему устройству Windows,
добавив собственные темы. Эти семинары велись по всему миру и даже в
офисах Microsoft для разработчиков Windows. На них широко использова-
лись утилиты Sysinternals, позволяющие заглянуть глубоко внутрь Windows
и узнать много нового. Дэвид до сих пор ведет семинары, о которых можно
узнать на сайте http://www.solsem.com.
К 2006 г. мои отношения с Microsoft полностью наладились, моя компа-
ния Winternals предлагала полную линейку приложений для управления
инфраструктурой предприятия, ее штат вырос до 100 сотрудников, а ути-
литы Sysinternals достигли двух миллионов скачиваний в месяц. 18 июля
2006 г. Microsoft выкупила Winternals и Sysinternals. Вскоре после этого мы
с Брайсом переехали в Редмонд и влились в команду Windows. Сегодня я
работаю одним из технических сотрудников (Technical Fellows) Microsoft
(которых в компании совсем немного), помогая направлять развитие ком-
пании в техническом плане. Сейчас я — в группе Windows Azure и работаю
над ядром операционной системы Microsoft для облачных вычислений.
Одной из целей продажи Microsoft фирмы Sysinternals была гарантия
дальнейшей бесплатной доступности наших утилит и развития созданного
нами сообщества. И эта цель достигнута. Сегодня сайт Windows Sysinternals
на technet.microsoft.com является одним из наиболее часто посещаемых:
50000 посетителей в день и три миллиона скачиваний в месяц. Опытные
пользователи Sysinternals периодически заходят за последними версиями и
новыми утилитами, такими как RAMMap и VMMap, а также для участия в
жизни сообщества Sysinternals и общения на растущем форуме (30000 заре-
гистрированных пользователей на момент написания книги). Я продолжаю
улучшать существующие утилиты и добавлять новые, включая инструмен-
ты для работы в Windows Azure.
SIN_intro.indd XIX
27.12.2011 14:45:35