Fake
Пользователь
Главный инженер
Сообщений: 547 | | Карма: 9
|
Что такое процесс Svchost.exe - 2007/03/19 00:27
Во время проведения занятий часто приходится сталкиваться с непониманием со стороны слушателей роли процесса Svchost.exe в операционных системах Windows 2000 и последующих версиях Windows. Многие из студентов знают, что под ним работают другие процессы, но что это за процессы, откуда они взялись и что с ними делать обычно для них загадка. Некотрые из слушателей утверждают, что под ним скрываются вирусы. Данная статья должна разъяснить что же это всё таки такое - процесс Svchost.exe и позволит Вам самим решить может ли он быть связан с вирусами.
Прежде всего Svchost.exe это базовый (host) процесс для сервисов запускающихся из динамических библиотек (DLLs). Запускающий файл этого процесса находится в папке %SystemRoot%System32 и является одним из критически важных, автоматически запускаемых компонентов операционной системы. Во время загрузки операционной системы Svchost.exe проверяет реестр и создаёт список сервисов которые он должен загрузить. Проверяется ветвь “Services” текущего управляющего набора (control set), т.е. HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices, и те сервисы, в ключе Parameters у которых есть параметр ServiceDLL включаются в указанный список. Одновременно может быть запущено несколько экземпляров Svchost.exe, каждый такой экземпляр может включать в себя от одного до нескольких сервисов, которые группируются в зависимости от того, когда и как был запущен сам Svchost.exe. Чаще всего они группируются на основе того, какие сервисы должны быть успешно запущены до них, т.е. на основе значения параметра DependOnService.
Теперь необходимо разобраться а как же узнать какие сервисы работают под процессом Svchost.exe. Для этого необходимо просмотреть список сервисов создаваемый Svchost.exe’ом, и о котором мы говорили выше. Хранится этот список в реестре, в ключе HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSvchost Каждый параметр под этим ключом представляет отдельную группу Svchost, запускаемую как отдельный экземпляр Svchost.exe. Значение каждого из этих параметров - это список тех самых сервисов которые запускаются под этим экземпляром процесса Svchost.exe. Здесь нужно помнить, что не все из перечисленных сервисов будут реально выполняться – некоторые могут быть отключены или могут запускаться вручную. В этом ключе реестра приведён общий список сервисов работающих под процессами Svchost.exe. Но как узнать какие сервисы под каким экземпляром процесса выполняются в конкретный момент. Эта задача решается немного по-разному в Windows 2000 и Windows XP/2003. Под W2K - при помощи утилиты tlist из состава пакета Windows 2000 Support Tools и стандартной утилитой TaskList в XP и W2K3. Эти утилиты командной строки просты в использовании, так tlist достаточно запустить с ключом –s:
Теперь найдите процесс с именем Svchost.exe и напротив вы увидите список сервисов выполняющихся в данном экземпляре процесса.
Под Windows XP и W2K3 запускаем команду tasklist /svc и также получаем список процессов и сервисов: Получаем аналогичный результат – список сервисов напротив каждого экземпляра процесса Svchost.exe.
В заключение автор статьи хотел бы выразить надежду на то, что приведённые здесь методы работы и информация поможет читателям эффективнее решать задачи управления и мониторинга систем Windows, а также избежать ошибочных суждений распространяемых в Интернете в связи с процессом Svchost.exe.
Post edited by: Trax, at: 2007/03/19 00:38
reserved |