Восстановление стека TCP/IP
Что делать если не работают сетевые протоколы? При попытки пропинговать сервер / ip-адресс вы получаете ошибку «Не удается обратиться к драйверу IP. Код ошибки 2»? Тогда у вас что-то со стеком TCP/IP, разберём подробнее.
Начну с лёгкого и простого, заканчивая более сложными решениями проблемы.
Возможно у вас на компьютере стоит Аваст и проблемы начались после обновления антивирусных баз, 6 декабря 2012 года аваст добавил в свои базы файл C:\Windows\system32\drivers\TCPIP.sys , вскоре после обновления баз аваст нашёл этот файл в системных файлах и удалил (возможно поместил в карантин).
Не беда, ниже я напишу как восстановить работоспособность стека TCP/IP, после чего сеть должна заработать (если она конечно раньше работала):
1. Самый простой способ — воспользоваться avastfix.zip зеркало :
- для начала нужно скачать avastfix (ссылки строчкой выше)
- распаковать, допустим на диск C:\ (в архиве есть папка, так что после извлечения будет путь такой C:\avastfix\ )
- если у вас стоит аваст, то отключите его: в правом нижнем углу найдите значок аваста (возле часов), нажмите на него правой кнопкой мышки и выберите управление экранами avast , далее нужно указать отключение навсегда
- запустите fixtcpip.bat , после чего компьютер перезагрузится
- после перезагрузки проверяем работу сети например пингом на сервер гугла: на клавиатуре нажмите одновременно на флажок (логотип windows), между Ctrl и Alt , и букву R , то есть Win + R . В появившемся окне напишите cmd , у вас открылась командная строка, в ней напишите ping 8.8.8.8 , должно появиться
Обмен пакетами с 8.8.8.8 по 32 байт:
Ответ от 8.8.8.8: число байт=32 время=55мс TTL=48
или что-то похожее, но не ошибка драйвера сети
C:\Windows\system32\drivers\TCPIP.sys (у вас может быть установлен windows на другой раздел, например D: )
Давайте теперь рассмотрим что в этом «чудо» архиве:
fixtcpip.bat — некий скрипт, который импортирует в реестр стандартные настройки стека, распаковывает архив tcpip.rar при помощи UnRAR.exe в C:\Windows\system32\drivers\ и перезагружает компьютер
2. Рассмотрим теперь ручное восстановление/копирование файла
- для начала всё же отключим аваст (см. выше 3-ий пункт » если у вас стоит …»)
- файл tcpip.sys можно скопировать из папки C:\Windows\system32\dllcache , но возможно аваст его то же удалил, тогда можно взять загрузочный CD/DVD/USB диск и там найти этот файл в …\I386\TCPIP.SY_ . Так же файл можно взять с рабочей системы. Но если взять этот файл вам не откуда, тогда вот ссылка для SP3 (если у вас SP2, то можете попросить) tcpip.sys
- перезагрузите компьютер
- проверьте работоспособность сети/интернета, если работает, тогда обновите аваст и запустите аваст (см. последний пункт 1-го способа)
3. Если не помогли предыдущие способы, то скорее всего виноват не аваст. Проверьте, существует ли файл C:\windows\inf\nettcpip.inf , если существует, тогда приступайте к следующему способу. Если файла нет, тогда его нужно скопировать с рабочей системы, нет рабочей системы? Не беда, скачайте отсюда nettcpip.inf
4. Переустановка стека TCP/IP используя Microsoft Fix it 50199 зеркало
5. Можно попробовать утилиту TCPIP.Sys RestoreTool от фирмы UnHackMe , этой утилитой я не пользовался, но по описанию она должна переустанавливать стек TCP/IP в операционных системах: Windows 2000/XP/Vista/Seven/8 32 и 64-бит
6. Сброс настроек стека TCP/IP вручную. На сайте Microsoft в статье kb299357 написано, что для переустановки достаточно выполнить выполнить всего одну команду в командной строке:
- запустите cmd
- выполните netsh int ip reset resetlog.txt
- перезагрузите компьютер
7. А теперь самое сложное переустановка стека TCP/IP в windows XP вручную.
- Загрузите windows в Безопасный режим , то есть включаете компьютер и многократно нажимайте на F8 пока не появится меню загрузки windows, выберите Безопасный режим
- Зайдите в реестр ( Пуск — Выполнить — regedit — OK или Win + R )
- Удалите два ключа и выйдите из реестра:
Исправляем ошибки протокола TCP/IP без переустановки Windows
На днях помогал одному хорошему человеку избавиться от троянов на компьютере. Страдалец обратился с жалобой на то, что машина самопроизвольно перегружается раз в несколько минут, а при загрузке сообщает, что система восстановлена после критической ошибки. В общем, работать никак невозможно, а проверить машину антивирусом не удается, поскольку система перегружается, прежде чем сканер успевает что-то найти.
Долго ли, коротко ли, но заразу я на компьютере вывел, причем без всякого антивируса. Кому будет интересно, как это делается — пишите в комментарии, я поделюсь. Нет, будем честными, сканер все-таки использовался, но лишь на последнем этапе — чтобы найти файлы, содержащие тела вирусов и очистить их от триппера, а вот предварительный этап, делался почти вручную.
И вот, когда финальная проверка показала, что машина чиста, я вдруг обнаружил, что с нее невозможно выйти в интернет. Причем проблема проявляется как-то странно: команда ping на конкретный ip-адрес выполняется успешно, но ни одна из служб, работающих поверх TCP/IP, не функционирует: ни telnet, ни nslookup, ни tracert — ничего. Мало того, ip-адрес по DHCP тоже не получается, хотя вручную его установить реально.
Делаем вывод: поддержка протокола TCP/IP на машине работает некорректно. Вероятно, причина в вирусном коде в одном из системным файлов, который был некорректно вычищен антивирусом. А может файл просто был поврежден при очередной некорректной перезагрузке… Так или иначе, требовалось переустановить компоненты Windows, отвечающие за работу TCP/IP. Но вот беда: Windows не дает удалить этот протокол и установить его заново. Кнопка “Удалить” для протокола TCP/IP попросту не активна. Неужели переустанавливать Windows?
Нет, это не наш метод! Мы пойдем другим путем и продемонстрируем превосходство человека над машиной. А заодно и восстановим работу TCP/IP, не прибегая к реинсталляции ОС. Вот как это делается:
Открываем редактор реестра REGEDIT (Кнопка “Пуск” — пункт “Выполнить” — пишем regedit и нажимаем ) и безжалостно удаляем два ключа реестра:
•HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Services\Winsock
•HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Services\WinSock2
Выходим из REGEDIT и ОБЯЗАТЕЛЬНО (!) перезагружаемся.
После перезагрузки находим папку c:\windows\inf (а если точнее, то %winroot%\inf — ведь Windows может быть установлена в другом месте) и находим в ней файл nettcpip.inf. Обязательно сделайте его резервную копию, а потом отредактируйте с помощь Блоктнота:
[MS_TCPIP.PrimaryInstall]
; TCPIP has properties to display
Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE
[MS_TCPIP.PrimaryInstall]
; TCPIP has properties to display
Characteristics = 0×80 ; NCF_HAS_UI
Сохраните файл. Откройте настройки сетевого адаптера, щелкнув по нему правой клавишей и выбрав “Свойства”. Нажмите “Установить”, выберите из списка “Протокол” и нажмите “Добавить”. Далее нажмите кнопку “Установка с диска” и введите в строке пути c:\windows\inf (или %winroot%\inf). В появившемся списке выберите Протокол TCP/IP и завершите установку.
После перезагрузки снова идите в свойства сетевого адаптера, и вы обнаружите, что кнопка “Удалить” для протокола TCP/IP теперь стала доступна. Удалите протокол TCP/IP и снова перезагрузите машину.
После перезагрузки установите протокол TCP/IP с нуля. Вот и все.
Эта операция занимает 5-10 минут, после чего работоспособность TCP/IP восстанавливается. Вам даже не потребуется компакт-диск с дистрибутивом. Мне доводилось проделывать это раза 3 или 4 за свою практику, и отказов не случалось. Если вы столкнулись с проблемой, похожей на ту, что описана выше, попробуйте данный рецепт прежде, чем переустанавливать ОС. Возможно, вы сэкономите кучу времени. Удачи!
Как переустановить протокол TCP IP в WINDOWS
Автор: Super User. Опубликовано в Полезные Статьи
Описание проблемы:
Один из самых типичных случаев – компьютер не вносится в домен, при этом у.з. с правами внесения запрашивается, а дальше система сообщает о ошибке «не найден сетевой путь».
Примеры диагностики от Microsoft:
При работе возможно возникновение следующих неполадок.
• | Произошла ошибка при обновлении интерфейса «Интернет»: Сделана попытка выполнить операцию на объекте, не являющемся сокетом. |
• | При использовании команды ipconfig /renew появляется следующее сообщение об ошибке. Произошла ошибка при обновлении интерфейса «Подключение по локальной сети»: сделана попытка выполнить операцию над объектом, не являющимся сокетом. Не удается установить контакт с драйвером. Код ошибки 2. |
• | Если в диспетчере устройств выбрать команду «Показать скрытые устройства», то драйвер протокола TCP/IP в разделе «Драйверы устройств не Plug and Play» показан как отключенный и отображается сообщение об ошибке с кодом 24. |
• | При попытке создать подключение удаленного доступа появляется следующее сообщение об ошибке: Error 720: Нет настроенных протоколов управления PPP |
• | При вводе в командную строку команды ipconfig может появиться одно из следующих сообщений об ошибке: |
Операция завершена с ошибкой, поскольку ни один адаптер не находился в состоянии, допустимом для ее выполнения.
Предпринятая операция не поддерживается для выбранного типа объекта.
Произошла ошибка при запуске функции инициализации INITHELPERDLL в IPMONTR.DLL, код ошибки10107.
При использовании команды ping отображаются знаки, заменяющие IP-адрес. Например, отображен текст типа:
Статистика Ping для:
Пакетов: Оправлено = 4, Получено = 0, Утрачено = 4 (100% loss), C:\>ping www.contoso.com
Обмен пакетами с www.contoso.com [?] по 32 байт:
Ответ от 131.94.57.182: число байт=32 время=86 мс TTL=236
Ответ от 131.94.57.182: число байт=32 время=74мс TTL=236
Ответ от 131.94.57.182: число байт=32 время=74мс TTL=236
Ответ от 131.94.57.182: число байт=32 время=74мс TTL=236
Статистика Ping для Où?: Пакетов: Отправлено = 4, Получено = 4, Утрачено = 0 (0% loss),
Приблизительное время приема-передачи: Минимальное = 74мсек, Максимальное = 86мсек, Среднее = 77мсек ИЛИ
C:\>ping 131.94.57.182
Обмен пакетами с ? по 32 байт:
Ответ от 131.94.57.182: число байт=32 время=73мс TTL=236
Ответ от 131.94.57.182: число байт=32 время=74мс TTL=236
Ответ от 131.94.57.182: число байт=32 время=73мс TTL=236
Ответ от 131.94.57.182: число байт=32 время=73мс TTL=236
Статистика Ping для Où?:
Пакетов: Отправлено = 4, Получено = 4, Утрачено = 0 (0% loss),
Приблизительное время приема-передачи: Минимальное= 73мсек, Максимальное = 74мсек, Среднее = 73мсек
Решение проблемы:
1. Нажмите кнопку Пуск и выберите пункт Выполнить.
2. В поле Открыть введите команду regedit и нажмите кнопку ОК.
3. Найдите один из следующих подразделов реестра:
Щелкните этот ключ правой кнопкой мыши и выберите команду Удалить.
4. Для подтверждения удаления каждого раздела нажмите кнопку Да.
5. Закройте программу Regedit.
6. Найдите файл Nettcpip.inf в папке %winroot%\inf, затем откройте его с помощью программы «Блокнот».
7. Найдите раздел [MS_TCPIP.PrimaryInstall].
8. В записи Characteristics = 0xa0 замените 0xa0 на 0×80
9. Сохраните изменения и закройте программу «Блокнот».
10. В панели управления два раза щелкните значок Сетевые подключения, правой кнопкой мыши щелкните значок Подключение к локальной сети и выберите Свойства.
11. Откройте вкладку Общие и последовательно щелкните Установить, Протокол и Добавить.
12. В окне Выбор сетевых протоколов щелкните Установить с диска.
13. В окне Копировать файлы с диска: введите C:\Windows\inf и нажмите кнопку ОК.
14. Выделите пункт Протокол Интернета (TCP/IP) и нажмите кнопку ОК.
Примечание. Это действие вернет вас на экран Подключение по локальной сети — свойства, но кнопка Удалить теперь доступна.
15. Выделите пункт Протокол Интернета (TCP/IP), нажмите кнопку Удалить, а затем кнопку ОК.
16. Перезагрузите компьютер, затем выберите Режим восстановления служб каталогов,
17. В панели управления два раза щелкните значок Сетевые подключения, правой кнопкой мыши щелкните значок Подключение к локальной сети и выберите Свойства.
18. Откройте вкладку Общие, щелкните Установить, выберите Протокол и нажмите кнопку Добавить.
19. В окне Выбор сетевых протоколов выберите Установить с диска.
20. В поле Копировать файлы с диска введите c:\windows\inf и нажмите кнопку ОК.
21. Выберите пункт Протокол Интернета (TCP/IP) и нажмите кнопку ОК.
22. Перезагрузите компьютер.
Дополнительная информация:
К данной мере следует прибегать только в крайнем случае.
Дополнительная информация по ссылкам:
Сброс настроек TCP/IP вручную
Примечание. Этот раздел рассчитан на опытных пользователей. Если продвинутые способы устранения неполадок кажутся слишком сложными, обратитесь за помощью к специалисту или в службу поддержки. Сведения о том, как связаться со службой поддержки, см. на веб-сайте справки и поддержи Майкрософт по следующему адресу:
В программе NetShell имеется команда сброса для протокола IP. Следуйте приведенным ниже указаниям, чтобы вручную сбросить настройки TCP/IP при помощи команды reset.
- Чтобы открыть командную строку, выберите в меню Пуск команду Выполнить. Скопируйте и вставьте (или введите) в поле Открытьследующую команду и нажмите клавишу ВВОД:
Примечание. Если не хотите указывать путь для сохранения файла журнала, используйте следующую команду:
При выполнении команды reset, она перезаписывает два ключа в реестре, которые используются TCP/IP. Это то же самое, что удалить и вновь установить протокол. Команда resetперезаписывает следующие два ключа в реестре: