Серверная (www.it-simple.ru)

Где Windows хранит IP-адреса


В целях необходимости сегодня была покорена очередная страшная загадка Windows.

Windows хранит свой IP в реестре (кто бы сомневался), по адресу:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{нечитаемый_идентификатор}

Сетевые настройки, вписанные в эту ветку, применяются сразу после отключения-включения сетевого подключения (пользуясь терминологией Microsoft :) или, как вариант, после перезагрузки компьютера.

Вот краткое содержание ключей:

Имя ключаТипСодержимое
DefaultGatewayREG_MULTI_SZШлюз по умолчанию.
DhcpServerREG_SZСервер DHCP.
DomainREG_SZПохоже, имя текущего домена. Надо проверить.
EnableDHCPREG_DWORDВключен ли DHCP. Как обычно, 0 - выключен, 1 - включен.
IPAddressREG_MULTI_SZIP-адрес. Если включен DHCP, то равен 0.0.0.0
DhcpIPAddressREG_SZIP-адрес, определённый по DHCP. Типа локального кэша адреса.
NameServerREG_SZIP-адреса DNS. Вводить в одну строку, через запятую и без пробелов.
SubnetMaskREG_MULTI_SZМаска подсети.
T1 и T2REG_DWORDИнтересные IP-адреса, выясняю что это. Единственное место, где адреса записаны в нормальном для компьютера виде.

Текущие настройки сети Windows хранит в другой ветке реестра, а именно:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{нечитаемый_идентификатор}\Parameters\Tcpip

Различия веток принципиальные: на основе данных из первой ветки система настраивает сетевое подключение, после чего записывает информацию о применённых настройках во вторую ветку, для дальнейшего использования в других программах/службах.

нечитаемые_идентификаторы представляют собой дикую смесь букв-цифр и в ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
их может быть несколько, поэтому нужный предлагаю определять опытным путём.