Читаем без скачивания Недокументированные и малоизвестные возможности Windows XP - Роман Клименко
Шрифт:
Интервал:
Закладка:
Служба DHCP-клиент использует около 20 Кбайт памяти и запускается с правами локальной системы (Local System) автоматически при каждом входе пользователя в систему (при этом она запускается как часть процесса svchost.exe).
ПРИМЕЧАНИЕ
Как правило, существует три основных учетных записи, с правами которых запускаются службы. Это учетная запись локальной системы (Local System), локальной службы (NT AUTHORITYLocalService), а также учетная запись сетевой службы (NT AUTHORITYNetworkService). Учетная запись локальной системы обладает максимальными правами на доступ к компонентам операционной системы (создание учетных записей администраторов, редактирование любых ветвей реестра, а также доступ к любым файлам и папкам файловой системы). Учетные записи локальной и сетевой служб обладают всеми правами, доступными группе Пользователи.
Как уже говорилось выше, данная служба необходима только в том случае, если существует сеть и в этой сети есть хотя бы один DHCP-сервер. Согласитесь, не многим домашним компьютерам может понадобиться служба DHCP-клиент, поэтому ее запуск можно отключить. Для этого необходимо DWORD-параметру Start, расположенному в ветви системного реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcp, присвоить значение 4.
ПРИМЕЧАНИЕ
Не обязательно для отключения служб пользоваться реестром — намного легче это сделать с помощью консоли services.msc, речь о которой пойдет в следующей главе книги. Для остановки/запуска службы можно воспользоваться следующими командами программы net: Net start — запустить службу; Net stop — остановить службу; Net pause — приостановить службу; Net continue — продолжить работу приостановленной службы.
В качестве параметра запуска все эти команды требуют для своей работы указания имени службы (команду net start можно запускать и без указания запускаемой службы, в этом случае она отобразит список всех запущенных в данный момент служб).
Имя службы является названием раздела реестра, в котором содержатся параметры настройки службы. Например, для службы DHCP-клиент раздел реестра называется Dhcp (другими словами, чтобы запустить службу DHCP-клиент, нужно воспользоваться командой net start dhcp). А чтобы запустить рассматриваемую далее службу DNS-клиент, которая хранит свои настройки в разделе реестра DNSCACHE, нужно воспользоваться командой net start dnscache.
Для запуска службы DHCP-клиент нужно, чтобы также были запущены следующие службы: Драйвер протокола TCP/IP (для его работы необходима служба Драйвер IPSEC), AFD и NetBios через TCP/IP (для его работы требуется служба Драйвер протокола TCP/IP). Для запуска этих служб также необходимо воспользоваться DWORD-параметром Start, которому нужно присвоить значение 0 (запускать службу при загрузке системы), 1 (запускать службу при инициализации операционной системы), 2 (запускать службу автоматически) или 3 (запускать службу вручную). Этот параметр должен находиться в следующих ветвях реестра:
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAFD — для службы AFD (параметр Start должен иметь значение 1);
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip — для службы Драйвер протокола TCP/IP (параметр Start должен иметь значение 1);
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIPSec — для службы Драйвер IPSEC (параметр Start должен иметь значение 1);
■ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBT — для службы NetBios через TCP/IP (параметр Start должен иметь значение 1).
Для работы службы DHCP-клиент также необходима библиотека dhcpcsvc.dll.
ПРИМЕЧАНИЕ
Как правило, сведения о необходимой для работы службы библиотеки находятся в параметре строкового типа ServiceDll, расположенном в разделе Parameters ветви реестра, содержащей настройки службы. В этом разделе также может храниться DWORD-параметр ServiceDllUnloadOnStop. Если его значение равно 1, то при остановке службы из памяти будет выгружаться библиотека, необходимая для ее работы.
DNS-клиент
Служба предназначена для получения IP-адреса удаленного компьютера при известном доменном или url-адресе этого компьютера (например, www.mail.ru). При этом процесс получения IP-адреса удаленного компьютера реализуется благодаря взаимодействию службы DNS-клиент с DNS-сервером. Это взаимодействие начинается после ввода запроса на подключение к удаленному компьютеру с использованием доменного имени компьютера (например, при вводе в адресную строку браузера адреса www.mail.ru). После этого служба DNS-клиент пытается найти IP-адрес компьютера, соответствующий введенному доменному или url-адресу, в своем кэше (данный кэш существует до окончания работы службы DNS-клиент и хранит соответствия всех IP-адресов доменным именам, которые уже были найдены службой DNS-сервер). Если служба DNS-клиент не находит в кэше соответствующий доменному имени IP-адрес, она обращается к содержимому файла HOSTS (если, конечно, обращение к данному файлу разрешено), расположенному на локальном компьютере (в каталоге %SystemRoot%System32driversetc) и включающему в себя соответствия между доменными именами и IP-адресами компьютеров, которым эти имена принадлежат. Если же и в этом файле нет сведений об IP-адресе необходимого компьютера, то служба обращается к DNS-cep-веру, используемому для разрешения имен компьютеров по умолчанию (в сети может существовать несколько DNS-серверов, при этом один из них является основным, к которому и обращаются компьютеры для разрешения имен). DNS-клиент ищет сведения об IP-адресе компьютера, которому принадлежит данное доменное имя, в своей базе данных. Если в базе данных DNS-сервера нет сведений о соответствующем этому доменному имени IP-адресе, то DNS-сервер просматривает свой кэш уже разрешенных имен компьютеров. Если и кэш не содержит необходимого IP-адреса, то DNS-сервер обращается с запросом на разрешение имени к вышестоящему DNS-серверу (например, если данный DNS-сервер включает в себя сведения о домене narod.ru, то DNS-сервер обращается к вышестоящему DNS-серверу, содержащему сведения о домене ru и т.д.). В итоге, если разрешение IP-адреса все-таки удалось, то IP-адрес, соответствующий данному доменному имени, передается DNS-клиенту, который, в свою очередь, передает его программе, запросившей у него разрешение имени (не забыв перед этим поместить данное разрешение имен в свой кэш). Если же разрешение имени не удалось, то программа оповестит об этом пользователя, сказав ему, что компьютер с введенным именем не найден.
ПРИМЕЧАНИЕ
Как уже говорилось, файл hosts расположен в каталоге %systemroot%systemdrivers ets и используется в случае, если в кэше DNS-клиента нет сведений о разрешении данного доменного или url-имени. Файл hosts является обычным текстовым файлом, содержащим соответствия IP-адреса компьютера его url-адресу. Вы сами можете создать данные соответствия для часто открываемых в Интернете сайтов, чтобы они открывались быстрее и при открытии загружали меньше трафика (ведь браузеру не придется обращаться к DNS-серверу). Для этого достаточно в файле hosts создать строку такого вида: IP-адрес URL-адрес. Например, можно разрешить IP-адрес сайта www.mail.ru. Его url-имя у вас есть (www.mail.ru), но как узнать IP-адрес? Для этого вам понадобится программа командной строки ping.exe. Необходимо запустить командную строку и ввести команду ping www.mail.ru, после чего программа выведет IP-адрес, принадлежащий url-имени www.mail.ru. Для www.mail.ru это будет адрес 194.67.57.26, то есть в файле hosts нужно создать строку вида 194.67.57.26 www.mail.ru.
С помощью файла hosts можно также бороться с баннерными серверами. Для этого достаточно разрешить имя сайта, который раздает другим сайтам баннеры, на IP-адрес своего компьютера (например, с помощью строки 127.0.0.1 www.banners.com), и баннеры от этого сайта больше не будут загружаться.
Использование файла hosts может быть полезно на домашних компьютерах, подключенных к Интернету, но в коммерческих сетях его использование не рекомендуется.
Служба DNS-клиент занимает около 2604 Кбайт памяти и запускается с правами сетевой службы (NT AUTHORITYNetworkService) автоматически при каждом входе пользователя в систему (при этом она запускается как отдельный процесс svchost.exe). Данная служба необходима, если в сети присутствует DNS-сервер или компьютер принадлежит к Active Directory (Active Directory уже предполагает, что в сети есть DNS-сервер, ведь без него Active Directory нельзя будет установить). Если эти условия не выполняются, то службу DNS-клиент можно отключить (можно подумать, что эта служба также необходима для подключения к Интернету, но, как показали исследования, это не так, хотя без ее использования качество поиска страниц в Интернете может пострадать, поэтому не рекомендуется отключать данную службу, если вы подключены к Интернету). Для этого необходимо DWORD-параметру Start, расположенному в ветви реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscache, присвоить значение 4.
Для запуска службы DNS-клиент необходимо, чтобы уже была запущена служба Драйвер протокола TCP/IP.
Для работы службы DNS-клиент также необходима библиотека dnsrslvr.dll.