Объявления
Восстановление стека TCP/IP в Windows XP

Возможно, вы сталкивались с вирусами/троянами, после лечения которых перестает нормально работать сеть («компьютер не выходит в интернет»). Как человек, угробивший кучу времени на борьбу с этим замечательным явлением на нескольких компьютерах, считаю нужным записать рецепт.

Как может проявляться проблема:

  • Команда ipconfig выдает ошибку.
  • Не работает получение адреса по dhcp (команда ipconfig /renew).
  • «Странные знаки» вместо IP-адреса в выводе команды ping.
  • Касперский при запуске выдает ошибки типа «Сбой при запуске монитора HTTP-трафика».
  • ActiveSync при запуске выдает ошибку типа «TCP/IP network transport is not installed».
  • В диспетчере устройств при включенном «Показать скрытые устройства» в разделе «Драйверы устройств не Plug and Play» драйвер протокола TCP/IP не виден или показан как отключенный и отображается сообщение об ошибке.
  • Могут, естественно, быть и другие симптомы.



Как можно бороться:

  1. Начинаю я со сканирования всех жестких дисков с аварийного диска Касперского со свежими базами. Править недолеченную винду — удовольствия мало, да и смысла может не быть.
  2. Если у каких-то сетевых соединений IP-адреса назначены вручную, выписываем их или делаем скриншоты. На следующем шаге эти настройки скорее всего слетят.
  3. Даем команду netsh int ip reset, перезагружаемся. Помогло? Замечательно. Нет? Едем дальше.
  4. Даем команду netsh winsock reset, перезагружаемся. Это может не работать на Windows до SP2. После этого действия может слететь интеграция в стек TCP/IP антивирусов, фаерволлов, клиентов для проксей. Правится или повторной установкой нужных галок в настройках этих программ, или их переустановкой.
  5. Простые методы закончились :) Возможно, поврежден или остутствует файл tcpip.sys. Восстановить его можно командой expand X:\i386\tcpip.sy_ c:\windows\system32\tcpip.sys, где X: — буква диска с дистрибутивом. После восстановления перезагружаемся.
  6. Возможно, дело в каких-то еще системных файлах, потертых или измененных. Запустить проверку с восстановлением из дистрибутива по необходимости можно командой sfc /scannow. Мне не помогло, работало долго, но ошибок никаких не нашло.
  7. Видел рекомендацию воспользоваться софтинкой http://www.snapfiles.com/get/winsockxpfix.html — мне не помогло, но «десять баксов-то не лишние» — вдруг кому поможет. Софтинка небольшая, около мегабайта весит.
  8. Можно попробовать заново установить протокол TCP/IP. В свойствах подключения к локальной сети на вкладке Общие щелкаем Установить -> Протокол -> Добавить. В окне Выбор сетевых протоколов щелкаем Установить с диска, вводим путь C:\windows\inf, нажимаем ОК. Выделяем Протокол Интернета (TCP/IP), нажимаем ОК. Проверяем настройки IP, перезагружаемся.
  9. Можно попробовать в диспетчере устройств удалить и установить заново сетевую карту. Я не пробовал.



Полная переустановка TCP/IP aka закат солнца вручную:
Если ничего из вышеперечисленного не восстановило работоспособность, осталась еще одна процедура, помогающая избежать переустановки Windows. Кстати, переустановка «поверх», с сохранением настроек, программ и документов, может не устранить проблему. Пробовал, сталкивался.

Итак, отращиваем бороду, покупаем бубен, надеваем толстые очки и засучиваем рукава.

  1. Открываем в блокноте файл c:\windows\inf\nettcpip.inf.
  2. Находим секцию [MS_TCPIP.PrimaryInstall]..
  3. В записи Characteristics = 0xA0 замеяем 0xA0 на 0x80.
  4. Сохраняем, закрываем.
  5. Открываем Сетевые подключения, там открываем свойства Подключения к локальной сети.
  6. На вкладке Общие щелкаем Установить -> Протокол -> Добавить.
  7. В окне Выбор сетевых протоколов щелкаем Установить с диска.
  8. Вводим путь C:\windows\inf, нажимаем ОК.
  9. Выделяем Протокол Интернета (TCP/IP), нажимаем ОК. Теперь в свойстве подключения стало возможно снести TCP/IP.
  10. Выделяем Протокол Интернета (TCP/IP), нажимаем кнопку Удалить, затем ОК.
  11. Запускаем regedit, удаляем ветки реестра HKLM\System\CurrentControlSet\Services\Winsock и HKLM\System\CurrentControlSet\Services\Winsock2.
  12. Перезагружаемся.
  13. В файле c:\windows\inf\nettcpip.inf меняем обратно 0x80 на 0xA0, сохраняем, закрываем.
  14. Открываем Сетевые подключения, там открываем свойства Подключения к локальной сети.
  15. На вкладке Общие щелкаем Установить -> Протокол -> Добавить.
  16. Выделяем Протокол Интернета (TCP/IP), нажимаем ОК.
  17. При необходимости восстанавливаем настройки адресов IP, перезагружаемся. TCP/IP работает.



Предпоследний пункт может не сработать, выдав «расширенную ошибку». Возможно, если не менять обратно файл nettcpip.inf, этой ошибки не возникнет. Дело в том, что системная база безопасности почему-то оказывается в неправильном состоянии. Как быть в этом случае? Для проверки сначала запускаем команду:

esentutl /g c:\windows\security\Database\secedit.sdb

Если в выводе между строчками Checking database integrity и Integrity check successful нет никаких сообщений, что что-то не так, значит с базой все в порядке. У меня было сообщение типа This operation may find that this database is corrupt.

Пробуем восстановление базы (у меня не сработало):

esentutl /r c:\windows\security\Database\secedit.sdb

Делаем ремонт базы:

esentutl /p c:\windows\security\Database\secedit.sdb

После этого запуск с ключом /g должен показать, что база в порядке, и TCP/IP установится. Эти манипуляции с базой безопасности могут что-то такое сделать с групповыми политиками, так что если вы ими пользуетесь, проверьте, все ли там в порядке.


Надеюсь, все написанное здесь вам не пригодится, а если все-таки пригодится, то сэкономит немало времени и нервов.

 

Источник: http://milleniumbug.livejournal.com/9703.html

Поделитесь полезным материалом с друзьями:


Вам помог этот совет? Вы можете помочь проекту, пожертвовав на его развитие любую сумму по своему усмотрению. Например, 20 рублей. Или больше :)

Передать $пасибо! нашему сайту через систему Webmoney
Комментарий: Stas27 февраля 2012 10:46
не могу внести изменения в nettcpip.inf
нажимаю "сохранить", а мне выдает "нет доступа к c:\windows\inf\nettcpip.inf"
У меня windows 7
Комментарий: sergei7 декабря 2012 14:27
Спасибо!
Времени сэкономило на переустановку )
Комментарий: Drummer31 июля 2013 19:19
Спасибо! Три дня прот**хался, пытаясь восстанавливать стандартными фишками, мелкософтовскими фиксами, пока вручную не снёс и не поставил по вашей рекомендации стек. Всё сразу заработало!!!!
Добавление комментария:
Ваше Имя:
Ваш E-Mail:

Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищённой ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Код:
Включите эту картинку для отображения кода безопасности
обновлять капчу