У коллеги на домашнем компьютере с Windows 10 стал периодически (раз в 2-3 дня) пропадать доступ в интернет (статус “Ограничено” у подключения), а при запуске мастера диагностики сетей Windows (запускается при щелчке мыши по значку с ошибкой сетевого подключения или через Параметры -> Обновление и безопасность -> Устранение неполадок -> Запустить средство устранения неполадок подключения к Интернету) появляется характерная ошибка:
На этом компьютере отсутствуют один или несколько сетевых протоколов.
В реестре отсутствуют записи для Windows Sockets, необходимые для связи по сети.
One or more network protocols are missing on this computer.
Windows Sockets registry entries required for network connectivity are missing.
Коллега обычно решал проблему перезагрузкой Windows и роутера, после чего подключение в интернет работало какое-то время, но через день-два проблема повторялась. Недавно он попросил меня попробовать исправить ошибку с отсутствующими сетевыми протоколами. Вот что получилось у меня.
При такой плавающей проблеме обычно рекомендуется начать с самого простого — сбросить текущие настройки TCP/IP и Windows Sockets. Если у вас на компьютере IP адрес настроен вручную, а не через DHCP, следующие команды сбросят ваши сетевые настройки. Поэтому предварительно нужно записать текущие настройки IP адреса, маски, шлюза и DNS серверов для ваших сетевых подключений (подробнее про сброс сетевых настроек в Windows).
netsh winsock reset
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_MACHINESYSTEMCurrentControlSetServicesWinSock. Создайте резервную копию ветки реестра, экспортировав ее в reg файл (ПКМ -> Export);
- Удалите ветку (ПКМ -> Delete);
- Выполните эти же действия для ветки HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock2;
После этого вам нужно вручную переустановить компоненты протокола TCP/IP.
- В панели управления сетевыми подключениями (ncpa.cpl) откройте свойства вашего сетевого адаптера и нажмите кнопку Install;
- Выберите Protocol в списке компонентов для установки (Select Network Feature Type);
- Затем выберите, что вы хотите установить компонент с диска и укажите путь к каталогу
C:WindowsINF
; - В списоке переустанавливаемых сетевых протоколов выберите Internet Protocol version 4 (TCP/IPv4) и перезагрузите компьютер.
.
В моем случае при переустановке компонентов TCP/IP появилась ошибка:
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.
Чтобы исправить ошибку нужно вручную импортировать с другого компьютера с той же версий ОС и применить на проблемном ПК следующие ветки реестра: HKLMSYSTEMCurrentControlSetServicesWinsock и HKLMSYSTEMCurrentControlSetServicesWinsock2.
Можете скачать готовые файлы для чистой Windows 10 x64 LTSC по ссылкам ниже:
- Winsock.reg
- Winsock2.reg
После импорта 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 исчезла. Если вам и это не помогло, я бы попробовал дополнительно переустановить (обновить) драйвера ваших сетевых адаптеров. Возможно проблема еще и с ними.
Winsock — это спецификация, которая используется в Windows для определения того, как сетевые приложения взаимодействуют с сетевыми службами, такими как TCP / IP.
Это в основном определяет, как две сетевые программы будут общаться друг с другом. Например, чтобы клиент FTP работал правильно, он использует Winsock.
Однако, Winsock может испортиться на машине Windows во время удаления шпионского или рекламного ПО. Вы можете начать получать странные ошибки, связанные с ошибками Winsock или сокетов, и основные команды, такие как IPCONFIG, не будут работать правильно.
Вы также можете получить такие ошибки, как Страница не может быть отображена при попытке просматривать интернет.
Чтобы исправить ошибку Winsock, вы должны сбросить весь стек протоколов TCP / IP на вашем компьютере с Windows. Существует несколько способов решения проблемы: использование командной строки, загрузка стороннего приложения и т. Д.
Microsoft Winsock Fix
Самый простой и безопасный способ сбросить ваш стек TCP / IP — это загрузить бесплатную утилиту от Microsoft.
https://support.microsoft.com/en-us/help/299357/how-to-reset-tcp-ip-by-using-the-netshell-utility
Просто скачайте правильный файл для ваших версий Windows и пройдите мастер!
Сброс сетевого стека TCP / IP вручную
Первое, что нужно попробовать, если вышеприведенная программа не работает, это вручную сбросить сетевой стек TCP / IP. Откройте командную строку администратора, нажав кнопку Пуск и введя CMD, а затем щелкните правой кнопкой мыши командную строку и выберите Запустить от имени администратора,
Теперь введите следующую команду:
netsh int ip reset resetlog.txt
Это перезапишет два раздела реестра, которые необходимы для правильной работы TCP / IP. Это будет работать на Windows XP, Vista, 7, 8 и 10. Если это не работает, читайте ниже!
Сброс Winsock с помощью netsh
Если сброс TCP / IP не работает, попробуйте сбросить стек TCP / IP с помощью команды сброса. Сначала откройте командную строку, выбрав «Пуск», «Выполнить» и набрав CMD.
Перед вводом команды сброса следует проверить, какие LSP (многоуровневые поставщики услуг) будут затронуты. Вы можете сделать это, набрав:
netsh winsock show catalog
Команда сброса ниже удалит все LSP Winsock. Теперь введите следующую команду ниже:
netsh winsock reset catalog
Каталог Winsock будет сброшен к конфигурации по умолчанию. Если ваш LSP поврежден и вызывает проблемы с сетевым подключением, эта команда должна исправить это. Обратите внимание, что если вы запустите эту команду, вам, возможно, придется переустановить несколько программ, на которых ранее были установлены LSP.
Вы также можете ознакомиться со статьей базы знаний Майкрософт ниже, в которой подробно описываются дополнительные шаги, которые можно предпринять для устранения повреждения Winsock2 в Windows XP и Windows Vista:
Восстановление от Winsock2 повреждения в Windows
Надеемся, что один из методов, описанных выше, решил вашу проблему с сетью! Если нет, то вам, возможно, придется переустановить Windows, поскольку она может быть повреждена без возможности восстановления.
Attention Before you read this post, I highly recommend you check out my resources page for access to the tools and services I use to not only maintain my system but also fix all my computer errors, by clicking here!
Are you currently bogged down with the Winsock error? If so, you’ve come to the right place, as I intend to explain all.
Winsock is short for Windows Socket and is an application programming interface or API that is used by developers to create applications that communicate with other computer systems through the TCP/IP protocol. Both Windows 95 and Windows NT come with a DLL file called winsock.dll, it’s this file that does the mediation between the application and the internet protocol.
The winsock.dll file is available in a variety of versions, on one side you have the Microsoft version, and on the other, you have a number of shareware and freeware versions, the Winsock API does not have an official standard, so each version may differ somewhat from the other.
What Is A Winsock Error?
A Winsock error typically occurs within the Winsock itself, which is used as the interface between windows applications and internet connectivity. Winsock’s primarily responsibility is to govern how windows applications interface with other applications over the internet.
All Windows based computers come with at least one physical port (the Ethernet port), however, there are also ports that you can’t see, called virtual ports, and it’s these ports that are used when your computer makes multiple connections to the internet from various sources. Every computer has exactly 65535 ports. At least 60% of these ports are used by applications that require access to the internet, while some ports (0 – 1024) are reserved solely for the operating system. If any application on your computer attempts to access the internet through one of these ports, it will be denied and/or result in an error. However, this very rarely happens, since the vast majority of developers are aware of which ports are accessible and which are reserved for the OS, and for those individuals that aren’t totally up to speed on which ports they can use, and which ports are reserved, they can always checkout any public index list online.
Winsock’s responsibility in all of this is to open and close these ports that applications on your computer are using to get online. If the Winsock file gets corrupted or if a resource that Winsock requires gets corrupted, then applications on your system that require internet connectivity as part of their functionality, will cease to function as they should. The Winsock error is always the result of this particular scenario, which makes it pretty easy for you to determine what the problem is. However, when it comes to fixing it, it can be rather difficult, especially if you no idea of where to start.
What Causes The Winsock Error?
The vast majority of internet connection issues are the result of corrupt Winsock settings. Because of the various programs on your computer that use Winsock, it can be rather difficult to identify which program is the root cause of the problem. The Winsock is also a primary target for malware, as hackers attempt to access your computer through the net.
The most common culprits of the Winsock error are:
- The registry keys of the Winsock component are corrupt.
- The drivers for the TCP/IP protocol on your system are corrupt or missing.
- The drivers for your NIC (Network Interface Card) are corrupt or missing.
- An application is trying to receive or transmit data through a reserved system port.
Of the main culprits highlighted above, a corrupt registry key is the most common; however, a corrupt registry key typically results in other areas of the registry being corrupt to. The manual approach to rectifying this issue is fairly comprehensive, however, I’ve taken the time to jot down the entire procedure; continue reading for more information.
However, the recommended approach to addressing this issue is to use automated software.
The majority of Winsock errors are typically the result of registry corruption. Just one simple mistake is capable of causing all kinds of heartache which in some cases, only automated tools are capable of fixing. The good thing is that, despite the difficulties in fixing the problem manually, if you use the right tool, you can fix the problem in a matter of minutes. The first tool I’ll like to recommend is Advanced System Repair Pro, and that’s because of its proficiency in repairing corrupt registries. You can find out more about this program here:
CLICK HERE TO CHECK OUT ADVANCED SYSTEM REPAIR PRO
The two other tools that I think you should try are WinSock XP Fix and WinSockFix, both of which are capable of fixing errors related to the Winsock and have the testimonials to prove it.
The solution(s) below are for ADVANCED level computer users. If you are a beginner to intermediate computer user, I highly recommend you use the
automated tool(s)
above!
Verifying Your Internet Protocols
The first thing you’re going to want to do is ensure that you have all the appropriate internet protocols present on your computer.
1. First, log into your computer with a user profile that has administrative rights.
2. Then click on Start -> Run [Windows Vista/7: Press + R], type msinfo32, and click on OK.
3. This will load the System Information applet, on the left pane, click on the + symbol next to Components -> Network -> Protocol.
Within the Protocol, on the right pane, as you scroll down, you should have at least 10 sections labelled with the following names:
- MSAFD Tcpip [TCP/IP]
- RSVP UDP Service Provider
- MSAFD NetBIOS
If on your computer its showing less than ten sections with names that differ from those listed above, then it means you have missing data that Winsock requires in order to function properly. To rectify this problem, you’re going to have to rebuild the Winsock component.
Rebuild the Winsock
One thing you should be aware of when rebuilding or resetting the Winsock, is that if you’re running Windows XP with Service Pack 2, then it will restore all Winsock settings including your third-party LSPs back to their factory defaults. LSPs are settings created by applications that use the Winsock, this means, you will have to reinstall some applications on your computer after completing this procedure.
1. First start by logging into your system with administrative rights.
2. Then click on Start -> Run, type cmd and click on OK. [Windows Vista/7: Start -> Type cmd (into the Search programs and files box) and Press CTRL + Shift + Enter, then click on Continue]
3. Once Command Prompt loads up, type “netsh winsock reset” and hit Enter.
After you’ve run this command, you must reboot your computer in order for the changes to take effect.
Deleting the Corrupt Registry Keys
The next step is to remove the corrupt registry keys created by Winsock, so that new ones can be made in their stead.
WARNING: Editing or deleting the wrong registry entry can damage your operating system beyond repair.
1. First, log into your computer with administrative rights.
2. Then click on Start -> Run [Windows Vista/7: Press + R], type regedit and click on OK.
3. Once the Registry Editor loads up, navigate to the following path:
HKEY_LOCAL_MACHINESystemCurrentControlSetServices
4. Once there, click on the + symbol next to Services to reveal all its sub keys.
5. Then scroll down to you find the registry sub keys Winsock and Winsock2 and right click on each one and select Delete.
Once you’ve removed both sub keys, restart your system.
Reinstall the Internet Protocol Drivers
Once you’ve removed the sub keys from your registry, you’ll want to reinstall the Internet Protocol drivers, so that connections to the internet are possible through third party applications.
1. To complete this procedure, you must first log into your computer with administrative rights.
2. Then click on Start -> Control Panel.
3. Once Control Panel loads up, double click on Network Connections.
4. From Network Connections, under LAN or High-Speed Internet, right click on Local Area Connection and select Properties.
5. This will bring up the Local Area Connection Properties applet, from here, click on Install.
6. For the Network Component Type, select Protocol and click on Add.
7. On the Select Network Protocol applet, click on Have Disk.
8. Then type “C:Windowsinf” and click on OK.
9. Lastly, select Internet Protocol (TCP/IP) from the list and click on OK.
The steps above should be sufficient in rectifying any issues you have with the Winsock, however, in the event that it’s not, you should consider running system file checker.
System File Checker
The system file checker is a Windows utility tool that will scan your system for any missing or corrupt system files and replace them. In order for you to run this tool, you must have your operating system on CD.
1. First, begin by logging into your computer with administrative rights.
2. Then click on Start -> Run, type cmd and click on OK. [Windows Vista/7: Start -> Type cmd (into the Search programs and files box) and Press CTRL + Shift + Enter, then click on Continue]
3. Once Command Prompt loads up, type “sfc /scannow” and press Enter.
Note: Make sure you have your OS CD in your CD/DVD Rom drive before you hit Enter.
If after following all the steps below, you’re still getting a Winsock error, then you should consider running a repair installation. For more information on how to do this manually, you can check out my post on how to speed up your system.
However, the manual option requires a certain level of expertise and also for you to have your Windows CD, which can be a problem, as most systems come with their operating system pre-installed. However, as an alternative, you can use a Windows repair tool called Reimage, which can automatically reinstall your operating system on the fly, without the requirement of a Windows CD and at no risk to your personal files.
For more information on this product, visit the following link:
CLICK HERE TO CHECK OUT REIMAGE
Are you looking for a way to repair all the errors on your computer?
If the answer is Yes, then I highly recommend you check out Advanced System Repair Pro.
Which is the leading registry cleaner program online that is able to cure your system from a number of different ailments such as Windows Installer Errors, Runtime Errors, Malicious Software, Spyware, System Freezing, Active Malware, Blue Screen of Death Errors, Rundll Errors, Slow Erratic Computer Performance, ActiveX Errors and much more. Click here to check it out NOW!
I dont understand whats happening. If I create a socket to anywhere else other than localhost (either «localhost», «127.0.0.1» or the external ip of the machine) it works fine.
If I create a socket to an address without something listening in that port i would get a 10060 (timeout) but not a 10061 which makes sense. Why is it that I am getting connection refused when going to localhost.
I tried disabling the firewall just in case it was messing things up, but that is not it
I am doing all the WSA initialize stuff before this.
_socketToServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(_socketToServer == -1){
return false;
}
p_int = (int*)malloc(sizeof(int));
*p_int = 1;
if( (setsockopt(_socketToServer, SOL_SOCKET, SO_REUSEADDR,
(char*)p_int, sizeof(int)) == -1 )||
(setsockopt(_socketToServer, SOL_SOCKET, SO_KEEPALIVE, (char*)p_int,
sizeof(int)) == -1 ) ){
free(p_int);
return false;
}
free(p_int);
struct sockaddr_in my_addr;
my_addr.sin_family = AF_INET ;
my_addr.sin_port = htons(_serverPort);
memset(&(my_addr.sin_zero), 0, 8);
my_addr.sin_addr.s_addr = inet_addr(_serverIP);
if( connect( _socketToServer, (struct sockaddr*)&my_addr, sizeof(my_addr))
== SOCKET_ERROR ){
DWORD error = GetLastError(); //here is where I get the 10061
return false;
}
Any ideas?
I dont understand whats happening. If I create a socket to anywhere else other than localhost (either «localhost», «127.0.0.1» or the external ip of the machine) it works fine.
If I create a socket to an address without something listening in that port i would get a 10060 (timeout) but not a 10061 which makes sense. Why is it that I am getting connection refused when going to localhost.
I tried disabling the firewall just in case it was messing things up, but that is not it
I am doing all the WSA initialize stuff before this.
_socketToServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(_socketToServer == -1){
return false;
}
p_int = (int*)malloc(sizeof(int));
*p_int = 1;
if( (setsockopt(_socketToServer, SOL_SOCKET, SO_REUSEADDR,
(char*)p_int, sizeof(int)) == -1 )||
(setsockopt(_socketToServer, SOL_SOCKET, SO_KEEPALIVE, (char*)p_int,
sizeof(int)) == -1 ) ){
free(p_int);
return false;
}
free(p_int);
struct sockaddr_in my_addr;
my_addr.sin_family = AF_INET ;
my_addr.sin_port = htons(_serverPort);
memset(&(my_addr.sin_zero), 0, 8);
my_addr.sin_addr.s_addr = inet_addr(_serverIP);
if( connect( _socketToServer, (struct sockaddr*)&my_addr, sizeof(my_addr))
== SOCKET_ERROR ){
DWORD error = GetLastError(); //here is where I get the 10061
return false;
}
Any ideas?
Содержание
- Что такое Winsock и для чего он нужен?
- Почему полезно сбросить Netsh Winsock
- Как перезапустить его в Windows 11 или Windows 10
- Выводы
Имя Винсока происходит от Разъем Windows . Можно сказать, что это программный интерфейс, который используется для установления связи между сетевым программным обеспечением Windows и сетевыми службами. Он использует протокол TCP/IP, чтобы программы, которым необходим доступ к Интернету, могли подключаться.
Это в основном служит для того, чтобы программы могут подключаться к Интернету . Например, приложение для обмена сообщениями, программа для загрузки файлов в облако и т. д. Любое приложение, которое вы установили в Windows и которому для работы требуется доступ к сети, будет зависеть от Winsock.
Несмотря на то, что он входит в стандартную комплектацию Microsoft операционных системах, мы также можем найти его в других, таких как macOS. Это не что-то новое, так как оно было создано несколько десятилетий назад. Со временем он адаптировался к новым версиям системы и к потребностям программ, которые мы устанавливаем.
Можно сказать, что Винсок отвечает за прием и отправка запросов . Что он делает, так это транслирует запросы для выполнения различных задач, требующих использования протокола TCP/IP. Таким образом, это необходимый инструмент для многих функций, которые мы выполняем в повседневной жизни в Интернете. Если что-то пойдет не так, если возникнет проблема, она не сможет работать правильно, и нам придется принять определенные меры, чтобы программы, зависящие от этой функции, могли выполняться правильно.
Почему полезно сбросить Netsh Winsock
Так чем же интересно сбросить Winsock? Уинсок будет хранить важную информацию о том, как эти приложения и коммуникации будут взаимодействовать. Эта база данных может быть повреждена и перестать работать должным образом. Например, если на компьютер проник вирус, неправильная конфигурация системы, неудачное обновление и т. д. Имейте в виду, что то, что мы упомянули, также может повлиять на просмотр, хотя это не то, что напрямую влияет на эту функцию Windows.
Это приведет к тому, что приложения не смогут нормально подключаться к Интернету. Вы можете увидеть сбои скорости, постоянные сбои или даже невозможность подключения. В этом случае начнут появляться сообщения о том, что приложению не удалось подключиться, или сообщения об ошибках, связанные с Winsock. Это в том случае, когда мы должны были бы принять меры для достижения оптимальной работы.
Поэтому, чтобы интернет-соединение работало корректно, может потребоваться использование Нетш Винсок , команда, позволяющая перезапустить его. Таким образом, мы сможем восстановить работу, перезапустить ту базу данных, которая будет создана, и снова сможем нормально использовать приложения.
Это может быть полезно для решения конкретных проблем, влияющих на Winsock, поскольку, если это более общая ошибка сети, мы ничего не сможем сделать, и нам нужно будет выяснить, в чем причина, чтобы принять правильные меры.
Как перезапустить его в Windows 11 или Windows 10
Сброс Winsock в Windows 10 или Windows 11 — очень простой процесс. Просто выполнив ряд шагов, вы сможете сбросить этот компонент и посмотреть, устраняет ли он ошибку, возникающую при подключении при использовании некоторых приложений. Вам не придется ничего устанавливать, так как все идет с самой операционной системой.
Первое, что вам нужно сделать, это зайти в «Пуск» и выполнить поиск «Терминал», «Командная строка» или «CMD». Вы должны запустить его с правами администратора, поэтому щелкните его правой кнопкой мыши и нажмите «Запуск от имени администратора». Это необходимо для выполнения команды.
После того, как вы находитесь в терминале или командной строке и открыли его с правами администратора, следующее, что вам нужно сделать, это выполнить следующую команду в открывшемся окне:
- Netsh сброс Winsock
Позже вы должны увидеть сообщение в том же окне о том, что Winsock был успешно сброшен . Это быстрый процесс, и вам не нужно ничего делать. Если вы выполнили эти шаги, вы просто увидите это сообщение, указывающее, что оно было выполнено успешно, и все.
Процесс одинаков независимо от того, используете ли вы Windows 10 или Windows 11. Вы сможете запустить команду из Терминал or Командная строка и быстро сбросить эту системную функцию.
После сброса Winsock в Windows следующее, что нужно сделать, это перезагрузить систему. Это важно каждый раз, когда вы вносите такое изменение, так как это гарантирует, что оно было сделано правильно, и позволяет избежать проблем, которые могут повлиять на производительность и ограничить удобство использования.
Выводы
Короче говоря, как вы видели, это очень легко сбросить Winsock в Windows . Это процесс, который вам придется выполнить, если вы столкнетесь с проблемами подключения, такими как сбой в работе приложений, которым необходимо подключение к Интернету, есть обрывы или они даже не могут подключиться.
Одна из причин проблем с приложения, которым нужен интернет в Windows в том, что была проблема с Winsock. Поэтому, сбросив его, мы можем снова заставить его нормально работать и снова иметь доступ к сети при использовании этих программ.
Однако проблема с подключением может быть вызвана не Winsock. Поэтому, если вы видите, что после сброса этой функции у вас все еще есть проблемы, в идеале вы должны найти причину. Возможно, это связано с плохим покрытием, некоторыми вредоносными программами в системе, программой, блокирующей соединение и т. д. Все это может привести к тому, что приложения не смогут нормально подключаться к сети.
Windows Sockets или Winsock — это техническая спецификация или программный интерфейс, который определяет, как любая программа обрабатывает запросы ввода / вывода для Интернет-приложений, например TCP / IP в Windows. В этом руководстве мы узнаем о Winsock, о том, почему и когда вам нужно выполнить сброс, а также о том, как сбросить Winsock в Windows 10.
Что такое Winsock
Как мы уже говорили, это программный интерфейс. Windows 10 содержит DLL с именем winsock.dll, которая реализует API и координирует программы Windows и соединения TCP / IP. В настройках содержится конфигурация компьютера для подключения к Интернету.
Когда нужно сбросить Winsock
Иногда сокеты Windows или Winsock могут быть повреждены, в результате чего вы не сможете подключиться к Интернету. Ошибка может возникнуть при загрузке неизвестного файла с вредоносным сценарием. Эти сценарии могут частично блокировать Winsock, блокируя ваше интернет-соединение. Если у вас возникают проблемы с открытием веб-сайтов, это может быть связано с поврежденными настройками Winsock.
Если вы получаете какое-либо из следующих или аналогичных сообщений об ошибках, это означает, что вам необходимо сбросить Winsock:
- Произошла ошибка при обновлении интерфейса «Интернет»: была предпринята попытка выполнить операцию с чем-то, кроме сокета.
- Произошла ошибка при обновлении подключения по локальной сети интерфейса: запрошенный поставщик услуг не может быть загружен или инициализирован.
- Произошла ошибка при обновлении подключения к локальной сети интерфейса: была предпринята попытка выполнить операцию с чем-то, что не является сокетом. Невозможно связаться с водителем. Код ошибки 2.
- Операция завершилась неудачно, поскольку ни один адаптер не находится в состоянии, допустимом для этой операции.
Вот шаги, которые необходимо предпринять для сброса Winsock в Windows 10:
- Щелкните правой кнопкой мыши кнопку Пуск
- Выберите командную строку (администратор)
- Введите netsh winsock reset и нажмите Enter.
- Для создания файла журнала используйте вместо этого netsh winsock reset c: winsocklog.txt.
- Перезагрузите компьютер.
Прежде чем продолжить и сбросить Winsock, не забудьте сначала создать точку восстановления системы.
Затем откройте командную строку от имени администратора, введите следующую команду и нажмите Enter.
сброс WinSock Netsh
Как администратор, вы также можете создать файл журнала изменений.
Чтобы добавить путь к файлу журнала к указанной выше команде:
netsh winsock сбросить c: winsocklog.txt
Подождите, пока командная строка выполнит сброс. Теперь вам придется перезагрузить компьютер, чтобы увидеть эффекты.
Что происходит при сбросе Winsock
Когда вы выполняете команду, она исправляет все повреждения, которые произошли с файлом DLL. Таким образом, нет никакого исправления, кроме как заменить его новой копией Winsock и вернуть его к настройкам по умолчанию.
СОВЕТ: Наша портативная бесплатная программа FixWin позволяет сбросить этот и большинство других параметров и функций Windows одним щелчком мыши.
ПРИМЕЧАНИЕ. Вот пакетный файл для одновременного освобождения TCP / IP, очистки DNS, сброса Winsock, сброса прокси.
Связанные чтения:
- Как очистить кеш DNS
- Как сбросить TCP / IP
- Как сбросить настройки прокси-сервера WinHTTP.
.
Сброс Winsock
Иногда эксперименты с настройками сетевых карт, либо вирусы, черви и трояны, или же слишком агрессивные антивирусы повреждают настройки Winsock, что приводит к неадекватной работе сетевых компонентов в системе
Проблема: не работает сеть.
Возможные симптомы:
— Компьютер не получает ip-адрес автоматически. При ручных настройках сеть работает. Служба DHCP-клиент при этом включена.
— Есть пинг по адресам, но нет по именам. Службы DNS-клиент при этом включена.
— Компьютер получает адрес из пространства APIPA (169.254.*.*) практически мгновенно после включения сети, а не после ожидания и таймаута.
— При попытке пинга из командной строки определенного IP-адреса, в ответном сообщении системы после слов «Обмен пакетами с» идут различные непечатные символы, такие как треугольнички, сердечки и т.д.
— Компьютер получает настройки сети не полностью, например получает только адрес шлюза.
— Стартуют и останавливаются большинство сетевых служб.
— Исчезли все созданные сетевые подключения.
Причина:
Такое поведение наблюдается при повреждении разделов реестра, в которых хранится конфигурация Winsock. Что же такое Winsock? Если сказать в «двух словах», то Winsock это интерфейс, который упрощает разработку сетевых приложений под Windows. Всё что нам нужно знать, это то что Winsock представляет собой интерфейс между приложением и транспортным протоколом, выполняющим передачу данных.При взаимодействии клиент — сервер в сети каждого участника взаимодействия можно рассматривать как конечную точку. Сокет это вроде как и есть эта конечная точка. В приложении вы определяете сокет.
Решение:
Нажмите Пуск, в поле Начать поиск введите
cmd
, щелкните правой кнопкой мыши файл
cmd.exe
и выберите команду
Запуск от имени администратора
, а затем нажмите кнопку Продолжить.
Введите в командной строке команду
netsh winsock reset
и нажмите клавишу Enter. После выполнения команды перезагрузите компьютер.
Для чего нужна команда «netsh winsock reset»?
Кликните здесь для просмотра всего текста
-для предотвращения атак отказа в обслуживании и отправления пакетов от чужого имени ограничена возможность передачи данных с помощью сокетов;
-ограничение частоты создания сетевых подключений. Т.е. соединений может быть сколько угодно, но установить множество подключений одновременно уже не получится, т.к. при достижении максимального числа разрешенных все последующие ставятся в очередь и выполняются с заданной частотой (что в равной степени относится и к сканированию портов).
-это изменение позволяет замедлить скорость распространения вирусов и червей, благодаря чему снижается риск массовых эпидемий, и антивирусные компании выигрывают немного времени на изготовление «противоядия».
Реализация восстановления Winsock после удаления LSP
Winsock используется для обработки данных, передаваемых по протоколу TCP/IP, в процессе которой информация последовательно проходит все установленные на компьютере обработчики этих данных — LSP (Layered Service Provider). Если один из них будет некорректно удален, то цепочка обработки нарушается, и работа по протоколу TCP/IP становится невозможной. Такие ситуации нередко случались, когда в Winsock для перехвата какой-либо информации внедрялось вредоносное приложение. При удалении его антивирусом пользователь лишался сети Интернет, либо был вынужден восстанавливать удаленные вредоносные компоненты. Благодаря автоматическому восстановлению цепочки Winsock необходимость в корректном удалении LSP во многих случаях наконец-то отпала.
Вместе с этим стали доступны две новые команды Netsh:
netsh winsock show catalog
— отображение списка установленных на компьютере LSP Winsock.
netsh winsock reset catalog
— сброс настроек и восстановление первоначальной конфигурации LSP Winsock
Переустановка протокола tcp/ip
При установке в составе какой-нибудь сборки Windows иногда может некорректно установиться сетевой протокол TCP/IP. В этом случае нужно его переустановить, и по-другому просто никак.
Как это сделать:
Кликните здесь для просмотра всего текста
1. Запустить regedit и удалить 2 ключа в реестре:
HKEY_LOCAL_MACHINESystemCurrentControlSetServic esWinsock
HKEY_LOCAL_MACHINESystemCurrentControlSetServic esWinSock2
2. В файле Nettcpip.inf (находится в папке windowsinf) найти раздел [MS_TCPIP.PrimaryInstall] и в записи Characteristics = 0xa0 заменить 0xa0 на 0x80.
3. Зайти в Панели управления в Сетевые подключения, правой кнопкой мыши щелкнуть значок Подключение по локальной сети и выбрать Свойства.
4. Открыть вкладку Общие и последовательно щелкнуть Установить, Протокол и Добавить.
5. В окне Выбор сетевых протоколов щелкнуть Установить с диска.
6. В окне Копировать файлы с диска ввести C:Windowsinf и нажмите кнопку ОК.
7. Выделить пункт Протокол Интернета (TCP/IP) и нажмите кнопку ОК.
8. Вернуться на экран Подключение по локальной сети, но кнопка Удалить теперь активна.
9. Теперь можно удалить Протокол Интернета (TCP/IP).
10. Перезагрузить компьютер.
11. Зайти опять в Сетевые подключения и установить Протокол Интернета (TCP/IP) заново, используя кнопку Установить с диска и путь c:windowsinf.
12. Перезагрузить компьютер.
Attention Before you read this post, I highly recommend you check out my resources page for access to the tools and services I use to not only maintain my system but also fix all my computer errors, by clicking here!
Are you currently bogged down with the Winsock error? If so, you’ve come to the right place, as I intend to explain all.
Winsock is short for Windows Socket and is an application programming interface or API that is used by developers to create applications that communicate with other computer systems through the TCP/IP protocol. Both Windows 95 and Windows NT come with a DLL file called winsock.dll, it’s this file that does the mediation between the application and the internet protocol.
The winsock.dll file is available in a variety of versions, on one side you have the Microsoft version, and on the other, you have a number of shareware and freeware versions, the Winsock API does not have an official standard, so each version may differ somewhat from the other.
What Is A Winsock Error?
A Winsock error typically occurs within the Winsock itself, which is used as the interface between windows applications and internet connectivity. Winsock’s primarily responsibility is to govern how windows applications interface with other applications over the internet.
All Windows based computers come with at least one physical port (the Ethernet port), however, there are also ports that you can’t see, called virtual ports, and it’s these ports that are used when your computer makes multiple connections to the internet from various sources. Every computer has exactly 65535 ports. At least 60% of these ports are used by applications that require access to the internet, while some ports (0 – 1024) are reserved solely for the operating system. If any application on your computer attempts to access the internet through one of these ports, it will be denied and/or result in an error. However, this very rarely happens, since the vast majority of developers are aware of which ports are accessible and which are reserved for the OS, and for those individuals that aren’t totally up to speed on which ports they can use, and which ports are reserved, they can always checkout any public index list online.
Winsock’s responsibility in all of this is to open and close these ports that applications on your computer are using to get online. If the Winsock file gets corrupted or if a resource that Winsock requires gets corrupted, then applications on your system that require internet connectivity as part of their functionality, will cease to function as they should. The Winsock error is always the result of this particular scenario, which makes it pretty easy for you to determine what the problem is. However, when it comes to fixing it, it can be rather difficult, especially if you no idea of where to start.
What Causes The Winsock Error?
The vast majority of internet connection issues are the result of corrupt Winsock settings. Because of the various programs on your computer that use Winsock, it can be rather difficult to identify which program is the root cause of the problem. The Winsock is also a primary target for malware, as hackers attempt to access your computer through the net.
The most common culprits of the Winsock error are:
- The registry keys of the Winsock component are corrupt.
- The drivers for the TCP/IP protocol on your system are corrupt or missing.
- The drivers for your NIC (Network Interface Card) are corrupt or missing.
- An application is trying to receive or transmit data through a reserved system port.
Of the main culprits highlighted above, a corrupt registry key is the most common; however, a corrupt registry key typically results in other areas of the registry being corrupt to. The manual approach to rectifying this issue is fairly comprehensive, however, I’ve taken the time to jot down the entire procedure; continue reading for more information.
However, the recommended approach to addressing this issue is to use automated software.
The majority of Winsock errors are typically the result of registry corruption. Just one simple mistake is capable of causing all kinds of heartache which in some cases, only automated tools are capable of fixing. The good thing is that, despite the difficulties in fixing the problem manually, if you use the right tool, you can fix the problem in a matter of minutes. The first tool I’ll like to recommend is Advanced System Repair Pro, and that’s because of its proficiency in repairing corrupt registries. You can find out more about this program here:
CLICK HERE TO CHECK OUT ADVANCED SYSTEM REPAIR PRO
The two other tools that I think you should try are WinSock XP Fix and WinSockFix, both of which are capable of fixing errors related to the Winsock and have the testimonials to prove it.

Verifying Your Internet Protocols
The first thing you’re going to want to do is ensure that you have all the appropriate internet protocols present on your computer.
1. First, log into your computer with a user profile that has administrative rights.
2. Then click on Start -> Run [Windows Vista/7: Press + R], type msinfo32, and click on OK.
3. This will load the System Information applet, on the left pane, click on the + symbol next to Components -> Network -> Protocol.
Within the Protocol, on the right pane, as you scroll down, you should have at least 10 sections labelled with the following names:
- MSAFD Tcpip [TCP/IP]
- RSVP UDP Service Provider
- MSAFD NetBIOS
If on your computer its showing less than ten sections with names that differ from those listed above, then it means you have missing data that Winsock requires in order to function properly. To rectify this problem, you’re going to have to rebuild the Winsock component.
Rebuild the Winsock
One thing you should be aware of when rebuilding or resetting the Winsock, is that if you’re running Windows XP with Service Pack 2, then it will restore all Winsock settings including your third-party LSPs back to their factory defaults. LSPs are settings created by applications that use the Winsock, this means, you will have to reinstall some applications on your computer after completing this procedure.
1. First start by logging into your system with administrative rights.
2. Then click on Start -> Run, type cmd and click on OK. [Windows Vista/7: Start -> Type cmd (into the Search programs and files box) and Press CTRL + Shift + Enter, then click on Continue]
3. Once Command Prompt loads up, type “netsh winsock reset” and hit Enter.
After you’ve run this command, you must reboot your computer in order for the changes to take effect.
Deleting the Corrupt Registry Keys
The next step is to remove the corrupt registry keys created by Winsock, so that new ones can be made in their stead.
WARNING: Editing or deleting the wrong registry entry can damage your operating system beyond repair.
1. First, log into your computer with administrative rights.
2. Then click on Start -> Run [Windows Vista/7: Press + R], type regedit and click on OK.
3. Once the Registry Editor loads up, navigate to the following path:
HKEY_LOCAL_MACHINESystemCurrentControlSetServices
4. Once there, click on the + symbol next to Services to reveal all its sub keys.
5. Then scroll down to you find the registry sub keys Winsock and Winsock2 and right click on each one and select Delete.
Once you’ve removed both sub keys, restart your system.
Reinstall the Internet Protocol Drivers
Once you’ve removed the sub keys from your registry, you’ll want to reinstall the Internet Protocol drivers, so that connections to the internet are possible through third party applications.
1. To complete this procedure, you must first log into your computer with administrative rights.
2. Then click on Start -> Control Panel.
3. Once Control Panel loads up, double click on Network Connections.
4. From Network Connections, under LAN or High-Speed Internet, right click on Local Area Connection and select Properties.
5. This will bring up the Local Area Connection Properties applet, from here, click on Install.
6. For the Network Component Type, select Protocol and click on Add.
7. On the Select Network Protocol applet, click on Have Disk.
8. Then type “C:Windowsinf” and click on OK.
9. Lastly, select Internet Protocol (TCP/IP) from the list and click on OK.
The steps above should be sufficient in rectifying any issues you have with the Winsock, however, in the event that it’s not, you should consider running system file checker.
System File Checker
The system file checker is a Windows utility tool that will scan your system for any missing or corrupt system files and replace them. In order for you to run this tool, you must have your operating system on CD.
1. First, begin by logging into your computer with administrative rights.
2. Then click on Start -> Run, type cmd and click on OK. [Windows Vista/7: Start -> Type cmd (into the Search programs and files box) and Press CTRL + Shift + Enter, then click on Continue]
3. Once Command Prompt loads up, type “sfc /scannow” and press Enter.
Note: Make sure you have your OS CD in your CD/DVD Rom drive before you hit Enter.
If after following all the steps below, you’re still getting a Winsock error, then you should consider running a repair installation. For more information on how to do this manually, you can check out my post on how to speed up your system.
However, the manual option requires a certain level of expertise and also for you to have your Windows CD, which can be a problem, as most systems come with their operating system pre-installed. However, as an alternative, you can use a Windows repair tool called Reimage, which can automatically reinstall your operating system on the fly, without the requirement of a Windows CD and at no risk to your personal files.
For more information on this product, visit the following link:
CLICK HERE TO CHECK OUT REIMAGE
Are you looking for a way to repair all the errors on your computer?
If the answer is Yes, then I highly recommend you check out Advanced System Repair Pro.
Which is the leading registry cleaner program online that is able to cure your system from a number of different ailments such as Windows Installer Errors, Runtime Errors, Malicious Software, Spyware, System Freezing, Active Malware, Blue Screen of Death Errors, Rundll Errors, Slow Erratic Computer Performance, ActiveX Errors and much more. Click here to check it out NOW!
У коллеги на домашнем компьютере с Windows 10 стал периодически (раз в 2-3 дня) пропадать доступ в интернет (статус “Ограничено” у подключения), а при запуске мастера диагностики сетей Windows (запускается при щелчке мыши по значку с ошибкой сетевого подключения или через Параметры -> Обновление и безопасность -> Устранение неполадок -> Запустить средство устранения неполадок подключения к Интернету) появляется характерная ошибка:
На этом компьютере отсутствуют один или несколько сетевых протоколов.
В реестре отсутствуют записи для Windows Sockets, необходимые для связи по сети.
One or more network protocols are missing on this computer.
Windows Sockets registry entries required for network connectivity are missing.
Коллега обычно решал проблему перезагрузкой Windows и роутера, после чего подключение в интернет работало какое-то время, но через день-два проблема повторялась. Недавно он попросил меня попробовать исправить ошибку с отсутствующими сетевыми протоколами. Вот что получилось у меня.
При такой плавающей проблеме обычно рекомендуется начать с самого простого — сбросить текущие настройки TCP/IP и Windows Sockets. Если у вас на компьютере IP адрес настроен вручную, а не через DHCP, следующие команды сбросят ваши сетевые настройки. Поэтому предварительно нужно записать текущие настройки IP адреса, маски, шлюза и DNS серверов для ваших сетевых подключений (подробнее про сброс сетевых настроек в Windows).
netsh winsock reset
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_MACHINESYSTEMCurrentControlSetServicesWinSock. Создайте резервную копию ветки реестра, экспортировав ее в reg файл (ПКМ -> Export);
- Удалите ветку (ПКМ -> Delete);
- Выполните эти же действия для ветки HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock2;
После этого вам нужно вручную переустановить компоненты протокола TCP/IP.
- В панели управления сетевыми подключениями (ncpa.cpl) откройте свойства вашего сетевого адаптера и нажмите кнопку Install;
- Выберите Protocol в списке компонентов для установки (Select Network Feature Type);
- Затем выберите, что вы хотите установить компонент с диска и укажите путь к каталогу
C:WindowsINF
; - В списоке переустанавливаемых сетевых протоколов выберите Internet Protocol version 4 (TCP/IPv4) и перезагрузите компьютер.
.
В моем случае при переустановке компонентов TCP/IP появилась ошибка:
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.
Чтобы исправить ошибку нужно вручную импортировать с другого компьютера с той же версий ОС и применить на проблемном ПК следующие ветки реестра: HKLMSYSTEMCurrentControlSetServicesWinsock и HKLMSYSTEMCurrentControlSetServicesWinsock2.
Можете скачать готовые файлы для чистой Windows 10 x64 LTSC по ссылкам ниже:
- Winsock.reg
- Winsock2.reg
После импорта 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 исчезла. Если вам и это не помогло, я бы попробовал дополнительно переустановить (обновить) драйвера ваших сетевых адаптеров. Возможно проблема еще и с ними.
description | ms.assetid | title | ms.topic | ms.date |
---|---|---|---|---|
Windows Sockets (Winsock) error codes returned by the WSAGetLastError function. |
50b924f3-2c88-443b-8a90-4293fe5c3048 |
Windows Sockets Error Codes (Winsock2.h) |
reference |
05/31/2018 |
Windows Sockets Error Codes
Most Windows Sockets 2 functions do not return the specific cause of an error when the function returns. For information, see the Handling Winsock Errors topic.
The WSAGetLastError function returns the last error that occurred for the calling thread. When a particular Windows Sockets function indicates an error has occurred, this function should be called immediately to retrieve the extended error code for the failing function call. These error codes and a short text description associated with an error code are defined in the Winerror.h header file. The FormatMessage function can be used to obtain the message string for the returned error.
For information on how to handle error codes when porting socket applications to Winsock, see Error Codes — errno, h_errno and WSAGetLastError.
The following list describes the possible error codes returned by the WSAGetLastError function. Errors are listed in numerical order with the error macro name. Some error codes defined in the Winsock2.h header file are not returned from any function.
Return code/value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Overlapped operations will complete later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Requirements
Requirement | Value |
---|---|
Header |
|
See also
-
Error Codes — errno, h_errno and WSAGetLastError
-
Handling Winsock Errors
-
FormatMessage
-
WSAGetLastError
02.08.2011, 23:42. Показов 1586. Ответов 2
Уже всё перепробовал, но больше идей никаких нет.. =(
Клиент:
C++ | ||
|
Сервер:
C++ | ||
|
На локалхосте всё хорошо, а с друзьями — клиент пытается подключиться к серверу, но там ошибка таймаута. А сервер тем временем выводит «Шаг 1», «Шаг 2» и больше ничего.
И, кстати, до этого был listen — я поставил до него MessageBox и после. Он вывел оба MessageBox’а друг за другом. А это значит, что listen не ожидая соединения закончил свою работу? Оо
0