Исправляем ошибки протокола TCP/IP без переустановки Windows
Исправляем ошибки протокола TCP/IP без переустановки Windows
Октябрь 21, 2007, 23:51
Сегодня и весь октябрь мой блог спонсирует Форум вебмастеров, где навалом умных мыслей и злых кроликов.
На днях помогал одному хорошему человеку избавиться от троянов на компьютере. Страдалец обратился с жалобой на то, что машина самопроизвольно перегружается раз в несколько минут, а при загрузке сообщает, что система восстановлена после критической ошибки. В общем, работать никак невозможно, а проверить машину антивирусом не удается, поскольку система перегружается, прежде чем сканер успевает что-то найти.
Долго ли, коротко ли, но заразу я на компьютере вывел, причем без всякого антивируса. Кому будет интересно, как это делается — пишите в комментарии, я поделюсь. Нет, будем честными, сканер все-таки использовался, но лишь на последнем этапе — чтобы найти файлы, содержащие тела вирусов и очистить их от триппера, а вот предварительный этап, делался почти вручную.
И вот, когда финальная проверка показала, что машина чиста, я вдруг обнаружил, что с нее невозможно выйти в интернет. Причем проблема проявляется как-то странно: команда 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 иногда может некорректно установиться сетевой протокол TCP IP. В этом случае нужно его переустановить, и по-другому просто никак.
Как же переустановить сетевой протокол TCP IP? — без небольших «танцев с бубном» этого не сделать.
Итак, начнем по порядку:
1. Запустить regedit и удалить 2 ключа в реестре:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WinSock2\
2. В файле Nettcpip.inf (находится в папке windows\inf) найти раздел [MS_TCPIP.PrimaryInstall] и в записи Characteristics = 0xa0 заменить 0xa0 на 0x80.
3. Зайти в Панели управления в Сетевые подключения, правой кнопкой мыши щелкнуть значок Подключение по локальной сети и выбрать Свойства.
4. Открыть вкладку Общие и последовательно щелкнуть Установить, Протокол и Добавить.
5. В окне Выбор сетевых протоколов щелкнуть Установить с диска.
6. В окне Копировать файлы с диска ввести C:\Windows\inf и нажмите кнопку ОК.
7. Выделить пункт Протокол Интернета (TCP/IP) и нажмите кнопку ОК.
8. Вернуться на экран Подключение по локальной сети, но кнопка Удалить теперь активна.
9. Теперь можно удалить Протокол Интернета (TCP/IP).
10. Перезагрузить компьютер.
11. Зайти опять в Сетевые подключения и установить Протокол Интернета (TCP/IP) заново, используя кнопку Установить с диска и путь c:\windows\inf.
12. Перезагрузить компьютер.
P.S. Как вариант для нажатия кнопки «Удалить» можно использовать программу Enable button 🙂
Отсутствуют сетевые протоколы — ошибка Windows Sockets в Windows 10
02.03.2022
itpro
Windows 10
Один комментарий
У коллеги на домашнем компьютере с Windows 10 стал периодически (раз в 2-3 дня) пропадать доступ в интернет (статус “Ограничено” у подключения), а при запуске мастера диагностики сетей Windows (запускается при щелчке мыши по значку с ошибкой сетевого подключения или через Параметры -> Обновление и безопасность -> Устранение неполадок -> Запустить средство устранения неполадок подключения к Интернету) появляется характерная ошибка:
В реестре отсутствуют записи для Windows Sockets, необходимые для связи по сети.
Windows Sockets registry entries required for network connectivity are missing.
Коллега обычно решал проблему перезагрузкой Windows и роутера, после чего подключение в интернет работало какое-то время, но через день-два проблема повторялась. Недавно он попросил меня попробовать исправить ошибку с отсутствующими сетевыми протоколами. Вот что получилось у меня.
При такой плавающей проблеме обычно рекомендуется начать с самого простого — сбросить текущие настройки TCP/IP и Windows Sockets. Если у вас на компьютере IP адрес настроен вручную, а не через DHCP, следующие команды сбросят ваши сетевые настройки. Поэтому предварительно нужно записать текущие настройки IP адреса, маски, шлюза и DNS серверов для ваших сетевых подключений (подробнее про сброс сетевых настроек в Windows).
Sucessfully reset the Winsock Catalog. You must restart the computer in order to complete the reset.
netsh interface ipv4 reset
Resetting Compartment Forwarding, OK! Resetting Compartment, OK! Resetting Control Protocol, OK! Resetting Echo Sequence Request, OK! Resetting Global, OK! Resetting Interface, OK! Resetting Anycast Address, OK! Resetting Multicast Address, OK! Resetting Unicast Address, OK! Resetting Neighbor, OK! Resetting Path, OK! Resetting Potential, OK! Resetting Prefix Policy, OK! Resetting Proxy Neighbor, OK! Resetting Route, OK! Resetting Site Prefix, OK! Resetting Subinterface, OK! Resetting Wakeup Pattern, OK! Resetting Resolve Neighbor, OK! Resetting , OK!
Данные команды сбросят настройки протокола TCP/IP для всех сетевых адаптеров и все обработчики (Winsock Layered Service Providers) к начальному, чистому состоянию. В результате вы удалите все сторонние обработчики, которые были встроены в ваш стек Winsock сторонними программами. Чаще всего в стек Winsock встраивают свои библиотеки-обработчики антивирусы, сниферы, файерволами и даже некоторые вирусы :).
После выполнения всех команду нужно перезагрузить компьютер и проверить интернет-подключение.
Если проблема не решилась, нужно через реестр удалить текущие настройки Windows Sockets.
- Откройте редактор реестра и перейдите к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock. Создайте резервную копию ветки реестра, экспортировав ее в reg файл (ПКМ -> Export);
- Удалите ветку (ПКМ -> Delete);
- Выполните эти же действия для ветки HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2;
После этого вам нужно вручную переустановить компоненты протокола TCP/IP.
- В панели управления сетевыми подключениями (ncpa.cpl) откройте свойства вашего сетевого адаптера и нажмите кнопку Install;
- Выберите Protocol в списке компонентов для установки (Select Network Feature Type);
- Затем выберите, что вы хотите установить компонент с диска и укажите путь к каталогу C:\Windows\INF ;
- В списоке переустанавливаемых сетевых протоколов выберите Internet Protocol version 4 (TCP/IPv4) и перезагрузите компьютер. .
Network Connections Could not add the requested feature. The error is: This program is blocked by group policy. For more information, contact your system administrator.
Чтобы исправить ошибку нужно вручную импортировать с другого компьютера с той же версий ОС и применить на проблемном ПК следующие ветки реестра: HKLM\SYSTEM\CurrentControlSet\Services\Winsock и HKLM\SYSTEM\CurrentControlSet\Services\Winsock2.
Можете скачать готовые файлы для чистой Windows 10 x64 LTSC по ссылкам ниже:
После импорта reg файлов нужно перезагрузить компьютер и попробовать еще раз переустановить протокол TCP/IP (в самом крайнем случаем воспользуютесь своими ветками ресстра winsock, сохранными ранее, но лучше использовать чистые).
Теперь в свойствах вашего сетевого подключений проверьте, что он настроен на получение динамического IP адреса и настроек DNS серверов, либо укажите IP адрес и DNS сервера вручную (в моем случае после сброса статические настройки IP просто очистились ). Для домашнего компьютера можно указать использовать следующие статические адреса DNS серверов Google: 8.8.8.8 и 8.8.4.4.
Здесь же нажмите на кнопку Advanced и на вкладке WINS отключите просмотр LMHOSTS и NetBIOS через TCP/IP. Эти сетевые ротоколы являются устаревшими и не нужны в современных сетях .
После этого проблема с периодическим отключением интернета с ошибкой “отсутствуют один или несколько сетевых протоколов” в Windows 10 исчезла. Если вам и это не помогло, я бы попробовал дополнительно переустановить (обновить) драйвера ваших сетевых адаптеров. Возможно проблема еще и с ними.
Предыдущая статья Следующая статья