ОС Windows очень бережно работает с сетью. Настолько бережно, что устаревшие данные об узлах могут храниться в кэше годами.
Симптомы устаревших данных могут быть самыми разнообразными:
Почему такое происходит? Потому что сетевых кэшей несколько, а данные в них перестают соответствать не только реальному положению дел в сети, но и друг другу.
Излечить можно по вполне стандартной процедуре.
Работающая сеть может помешать корректно очистить все существующие кэши.
arp –d *
В локальной сети компьютеры общаются между собой не по IP, а по MAC-адресам, то есть на более низком (канальном) уровне.
При обращении к удалённому компьютеру по IP, первым делом идёт широковещательный запрос на получение его физического адреса. Полученный адрес падает в кэш ARP, для ускорения последующих обращений. И только потом идёт подключение к удалённой машине, но уже не по IP, а по MAC-адресу.
В нормальном режиме запись кэша ARP хранится в течении двух минут с момента последнего обращения, но не более 10 минут.
nbtstat –R
В этом кэше находятся сопоставления NetBIOS-имён компьютеров с их IP-адресами. Если вам посчастливилось и в сети присутствует ещё и сервер WINS (что-то типа DNS для NetBIOS имён), есть смысл почистить и его.
Сразу после очистки этого кэша туда подгружаются записи из файла LMHOSTS (%SystemRoot%\System32\drivers\etc\lmhosts
).
Многие считают протокол NetBIOS устаревшим, однако микрософт носится с ним как с писаной торбой. Без него Windows ведёт себя в сети неадекватно. В то же время, с ним - создаёт дикий широковещательный флуд по портам 137 и 138 (http://port.it-simple.ru/?search=137,138).
Вирус kido одобряет использование NetBIOS.
ipconfig /flushdns
Здесь всё понятно. Кэш DNS - это сопоставление сетевых имён узлов с их IP-адресами.
В него же подгружаются записи из файла HOSTS (%SystemRoot%\System32\drivers\etc\hosts
)
Кстати, вирусы очень любят менять местоположение файла HOSTS.
А путь к нему задаётся в реестре, ветка HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
, ключ DataBasePath
, тип REG_EXPAND_SZ
.
Если команда возвращает ошибку — надо запустить (или перезапустить) службу DNS-клиента.
ipconfig /renew
Команда посылает запрос последнему использовавшемуся серверу DHCP (адрес этого сервера берётся из реестра (http://www.it-simple.ru/?p=1901)) на получение сетевых настроек.
Все описанные процедуры можно сделать толпой и из графики.
В ХР: Пуск → Панель управления → Сетевые подключения.
На нужном подключении нажимаем правую кнопку мыши и выбираем из меню «Восстановить». После этого будут выполнены следующие операции:
К сожалению, этот лёгкий метод работает криво и не всегда.