Netsh Winsock — что это и зачем нужно?

При поиске решений проблем с сетевыми подключениями в интернете пользователи рано или поздно попадают на сайты, на которых говорится о необходимости сброса настроек TCP/IP при помощи специфических команд — netsh winsock reset. Разберемся, что это вообще такое.

Netsh

В приведенной выше команде winsock является только "вложением" (контекстом) в основную команду — netsh. Netsh — это небольшая системная программа (сетевая оболочка), предназначенная для управления сетевыми параметрами Windows и конфигурирования параметров интерфейсов связи сетевых устройств (сетевых плат/адаптеров).

Назначений у программы Netsh довольно много, но чаще всего она используется именно для сброса рабочих параметров TCP/IP. Кроме того, при помощи этой программы (команды) можно изменять IP-адрес, маску подсети, основной шлюз и DNS-сервер любого существующего сетевого подключения (интерфейса).

Winsock

Как отмечалось выше, winsock — один из многочисленных контекстов (будем называть параметров) основной команды netsh. По сути — это техническая спецификация, определяющая способы взаимодействия всего установленного программного обеспечения с сетевыми сервисами, включая TCP/IP. Если простыми словами, Winsock "указывает" какой-либо сетевой программе (браузеру, например), к какому из доступных сетевых подключений ей обращаться для передачи данных во внешнюю сеть.

Как использовать Netsh?

Не будем изобретать велосипед и в качестве примера приведем команды для сброса настроек TCP/IP и изменения основных сетевых параметров одного из подключений.

Сброс TCP/IP при помощи Netsh. Первым делом нужно запустить командную строку Windows от имени администратора (в противном случае система откажет в доступе к своим настройкам):

  • Введите в поисковую строку Windows, что расположена в/около меню «Пуск», фразу «командная строка».
  • В результатах поиска кликните правой кнопкой мыши по найденному элементу «Командная строка», затем выберите пункт «Запустить от имени администратора».

Запуск командной строки от имени администратора

Для сброса сетевой конфигурации системы обычно достаточно использовать две команды:

netsh int ip reset

netsh winsock reset

Введите их последовательно (завершая ввод клавишей «Enter») в окно командной строки.

Использование команд "netsh int ip reset" и "netsh winsock reset"

В сети по-прежнему можно найти инструкции по сбросу TCP/IP, в которых первой используется другая команда: netsh int ip reset all. В Windows 10 эта команда не работает. Попробуйте ввести ее, получите ошибку. Очень жаль, потому что в параметре int команды netsh содержатся настройки не только для ip, но и для других сетевых объектов.

Если использование netsh int ip reset оказалось недостаточным для "ремонта" сетевого подключения, всегда можно сбросить и другие параметры int, поочередно вводя:

netsh int httpstunnel reset

netsh int ipv6 reset

netsh int tcp reset

netsh int portproxy reset

Сброс прочих сетевых параметров при помощи команды "netsh"

Если и это не поможет восстановить работоспособность сетевого подключения, проблему следует искать где-нибудь в другом месте (в драйвере, например).

Смена основных сетевых параметров при помощи Netsh. Конечно, эти параметры легче изменить стандартным способом — через свойства интернет-протокола IPv4 конкретного сетевого подключения. Но все же не будет лишним научиться делать это и через Windows-консоль, ведь стандартный способ может и не сработать, особенно, если компьютер заражен каким-нибудь вирусом-блокировщиком.

Для начала нужно узнать имя сетевого интерфейса, с которым предстоит работать. Для этого используем команду:

netsh int show interface

В нашем случае имеется всего одно единственное подключение, имя которого — Ethernet (это обычное подключение по локальной сети).

Меняем IP-адрес, маску подсети и основной шлюз на требуемом интерфейсе. Для этого используем команду:

netsh int ip set address ethernet static 192.168.0.25 255.255.255.0 192.168.0.1

Изменение основных сетевых параметров при помощи "netsh"

Здесь:

  • Параметр ethernet — имя перенастраиваемого сетевого подключения. Если в имени содержаться пробелы (например, оно названо «Подключение по локальной сети Ethernet»), его необходимо писать в кавычках — " Подключение по локальной сети Ethernet ".
  • Параметр static указывает, что устанавливаемые сетевые параметры будут являться статичными. Т.е. процедура по смене IP, маски и шлюза через командную строку равнозначна процедуре смены сетевых параметров стандартным способом.
  • Параметр 168.0.25 — новый IP-адрес для нашего подключения.
  • Параметр 255.255.0 — новая маска подсети.
  • Параметр 168.0.1 — новый основной шлюз.

Возникает вопрос — а где новый DNS-сервер? Этот параметр не является обязательным — он, скорее, добавочный. Т.е. нам предстоит добавить новый элемент в наше сетевое подключение. Делается это следующим образом:

netsh int ip add dnsserver ethernet 8.8.4.4

Изменение DNS при помощи команды "netsh"

Здесь, впрочем, все понятно. Указанный нами DNS-сервер — это общедоступный сервер от Google. Вы можете использовать вместо него DNS, выданный вашим интернет-провайдером.

Кстати, если использовать команду повторно с другим адресом DNS-сервера, он запишется в поле «Альтернативный DNS-сервер».

Результат выполнения команды можно посмотреть в свойствах сетевого подключения:

Свойства сетевого подключения

Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.

Категории