Нет данных о сокете подключения Windows 7

Обновлено: 21.11.2024

Протоколы TCP и UDP работают на основе номеров портов, используемых для установления соединения. Любому приложению или службе, которым необходимо установить соединение TCP/UDP, потребуется порт на его стороне.

Существует два типа портов:

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

Диапазон динамических портов по умолчанию для TCP/IP

В соответствии с рекомендациями Управления по присвоению номеров в Интернете (IANA) корпорация Майкрософт увеличила динамический диапазон клиентских портов для исходящих подключений. Новый начальный порт по умолчанию — 49152, а новый конечный порт — 65535. Это отличие от конфигурации более ранних версий Windows, в которых использовался диапазон портов по умолчанию от 1025 до 5000.

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

  • netsh int ipv4 показать динамический порт TCP
  • netsh int ipv4 показать динамический порт udp
  • netsh int ipv6 показать динамический порт TCP
  • netsh int ipv6 показать динамический порт udp

Диапазон задается отдельно для каждого транспорта (TCP или UDP). Диапазон портов теперь представляет собой диапазон, который имеет начальную и конечную точки. У клиентов Microsoft, которые развертывают серверы под управлением Windows Server, могут возникнуть проблемы, влияющие на связь RPC между серверами, если во внутренней сети используются брандмауэры. В таких случаях рекомендуется перенастроить брандмауэры, чтобы разрешить трафик между серверами в диапазоне динамических портов от 49152 до 65535. Этот диапазон является дополнением к общеизвестным портам, используемым службами и приложениями. Либо диапазон портов, используемых серверами, можно изменить на каждом сервере. Вы настраиваете этот диапазон с помощью команды netsh следующим образом. Приведенная выше команда устанавливает динамический диапазон портов для TCP.

Начальный порт — это число, а общее количество портов — это диапазон. Ниже приведены примеры команд:

  • netsh int ipv4 set dynamicport tcp start=10000 num=1000
  • netsh int ipv4 set dynamicport udp start=10000 num=1000
  • netsh int ipv6 set dynamicport tcp start=10000 num=1000
  • netsh int ipv6 set dynamicport udp start=10000 num=1000

Эти примеры команд задают динамический диапазон портов, начиная с порта 10000 и заканчивая портом 10999 (1000 портов). Минимальный диапазон портов, который можно установить, — 255. Минимальный начальный порт, который можно установить, — 1025. Максимальный конечный порт (на основе настраиваемого диапазона) не может превышать 65535. Чтобы воспроизвести поведение по умолчанию Windows Server 2003, используйте 1025 в качестве начального порта, а затем используйте 3976 в качестве диапазона для TCP и UDP. Это приводит к начальному порту 1025 и конечному порту 5000.

В частности, об исходящих подключениях, поскольку для входящих подключений не требуется эфемерный порт для приема подключений.

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

Не удается войти на компьютер с учетными данными домена, однако вход с локальной учетной записью работает. Для входа в домен потребуется связаться с контроллером домена для проверки подлинности, которая снова является исходящим соединением. Если у вас установлены учетные данные кэша, вход в домен может по-прежнему работать.

Ошибки обновления групповой политики:

Общие файлы недоступны:

RDP с уязвимого сервера не работает:

Любое другое приложение, работающее на машине, начнет выдавать ошибки

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

Если вы подозреваете, что на машине не хватает портов:

Попробуйте установить исходящее соединение.С сервера/машины получите доступ к удаленному общему ресурсу или попробуйте RDP на другой сервер или telnet на сервер через порт. Если исходящее соединение не удается ни для одного из них, перейдите к следующему шагу.

Откройте средство просмотра событий и в системных журналах найдите события, которые четко указывают на текущее состояние:

Идентификатор события 4227

Идентификатор события 4231

Соберите выходные данные netstat -anob с сервера. Вывод netstat покажет вам огромное количество записей для состояния TIME_WAIT для одного PID.

После корректного закрытия или резкого закрытия сеанса через 4 минуты (по умолчанию) порт, используемый процессом или приложением, будет освобожден обратно в доступный пул. В течение этих 4 минут состояние TCP-соединения будет TIME_WAIT. В ситуации, когда вы подозреваете исчерпание портов, приложение или процесс не сможет освободить все использованные порты и останется в состоянии TIME_WAIT.

Вы также можете увидеть соединения в состоянии CLOSE_WAIT в том же выводе; однако состояние CLOSE_WAIT — это состояние, когда на одной стороне однорангового узла TCP больше нет данных для отправки (отправлен FIN), но есть возможность получать данные с другого конца. Это состояние не обязательно указывает на исчерпание портов.

Наличие огромных подключений в состоянии TIME_WAIT не всегда указывает на то, что на сервере в настоящее время нет портов, если не проверены первые два пункта. Наличие большого количества соединений TIME_WAIT указывает на то, что процесс создает много соединений TCP и может в конечном итоге привести к исчерпанию портов.

Netstat был обновлен в Windows 10 с добавлением ключа -Q, чтобы показать порты, которые перешли из ожидания по времени, как в состоянии BOUND. Выпущено обновление для Windows 8.1 и Windows Server 2012 R2, содержащее эту функциональность. Командлет PowerShell Get-NetTCPConnection в Windows 10 также показывает эти связанные порты.

До 10 сентября 2016 г. данные netstat были неточными. Исправления для netstat, перенесенные обратно в 2012 R2, позволили Netstat.exe и Get-NetTcpConnection правильно сообщать об использовании порта TCP или UDP в Windows Server 2012 R2. Дополнительные сведения см. в разделе Windows Server 2012 R2: исправления временных портов.

Откройте командную строку в режиме администратора и выполните приведенную ниже команду

Откройте файл server.etl с помощью сетевого монитора и в разделе фильтра примените фильтр Wscore_MicrosoftWindowsWinsockAFD.AFD_EVENT_BIND.Status.LENTStatus.Code == 0x209. Вы должны увидеть записи, которые говорят STATUS_TOO_MANY_ADDRESSES. Если вы не найдете никаких записей, значит сервер все еще не исчерпал порты. Если вы их найдете, вы можете подтвердить, что на сервере исчерпаны порты.

Устранение неполадок с нехваткой портов

Суть в том, чтобы определить, какой процесс или приложение использует все порты. Ниже приведены некоторые инструменты, которые можно использовать для изоляции одного процесса

Способ 1

Начните с просмотра выходных данных netstat. Если вы используете Windows 10 или Windows Server 2016, вы можете запустить команду netstat -anobq и проверить идентификатор процесса, который имеет максимальное количество записей как BOUND. Кроме того, вы также можете запустить приведенную ниже команду PowerShell, чтобы идентифицировать процесс:

Большинство утечек портов вызвано тем, что процессы пользовательского режима неправильно закрывают порты при обнаружении ошибки. На уровне пользовательского режима порты (фактически сокеты) являются дескрипторами. И TaskManager, и ProcessExplorer могут отображать количество дескрипторов, что позволяет определить, какой процесс использует все порты.

Для Windows 7 и Windows Server 2008 R2 вы можете обновить версию PowerShell, включив указанный выше командлет.

Метод 2

Если метод 1 не помогает определить процесс (до Windows 10 и Windows Server 2012 R2), загляните в Диспетчер задач:

Добавьте столбец под названием «обработчики» в разделе сведений/процессов.

Отсортируйте дескрипторы столбца, чтобы определить процесс с наибольшим количеством дескрипторов. Обычно виновником может быть процесс с дескрипторами больше 3000, за исключением таких процессов, как System, lsass.exe, store.exe, sqlsvr.exe.

Если какой-либо другой процесс имеет более высокий номер, остановите этот процесс, а затем попробуйте войти в систему, используя учетные данные домена, и посмотрите, удастся ли это.

Способ 3

Если диспетчер задач не помог вам идентифицировать процесс, используйте Process Explorer для исследования проблемы.

Этапы использования обозревателя процессов:

Скачайте Process Explorer и запустите его с повышенными правами.

Удерживая клавишу Alt, щелкните заголовок столбца, выберите "Выбрать столбцы" и на вкладке "Производительность процесса" добавьте число дескрипторов.

Выберите Вид \ Показать нижнюю панель.

Выберите Вид \ Вид нижней панели \ Ручки.

Нажмите на столбец Handles для сортировки по этому значению.

Изучите процессы с большим числом дескрипторов, чем у остальных (вероятнее всего, их будет более 10 000, если вы не можете устанавливать исходящие соединения).

Нажмите, чтобы выделить один из процессов с большим количеством дескрипторов.

На нижней панели дескрипторы, перечисленные ниже, являются сокетами. (Технически сокеты — это файловые дескрипторы).

Некоторые из них являются нормальными, но многие из них не являются таковыми (от сотен до тысяч). Закройте рассматриваемый процесс. Если это восстановит исходящее соединение, то вы еще раз докажете, что причиной является приложение. Свяжитесь с поставщиком этого приложения.

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

В качестве обходного пути можно перезагрузить компьютер, чтобы вернуть его в нормальное состояние и помочь решить проблему на данный момент. Однако, когда перезагрузка нецелесообразна, вы также можете рассмотреть возможность увеличения количества портов на машине с помощью следующих команд:

При этом динамический диапазон портов будет начинаться с порта 10000 и заканчиваться портом 10999 (1000 портов). Минимальный диапазон портов, который можно установить, – 255. Минимальный начальный порт – 1025. Максимальный конечный порт (в зависимости от настраиваемого диапазона) не может превышать 65 535.

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

Для Windows 7 и Windows Server 2008 R2 можно использовать приведенный ниже сценарий для сбора выходных данных netstat с определенной периодичностью. Из выходных данных вы можете увидеть тенденцию использования порта.

Используйте этот документ для устранения проблем с подключением к Интернету в Windows 10, 8, 7, Vista и XP. Эти команды сбрасывают TCP/IP, Windows Socket и брандмауэр Windows.

ПРИМЕЧАНИЕ. Служба поддержки больше не поддерживает Windows 95/98, Windows Me, Windows 2000, Windows XP и Windows Vista. Мы можем только обеспечить максимальную поддержку. Если мы не сможем решить вашу проблему с Windows 9x/2000/XP/Vista, вы можете найти помощь в базе знаний Microsoft.

Эти продукты больше не поддерживаются Microsoft. Дальнейшая разработка этих продуктов не ведется, и обновления для системы безопасности больше не выпускаются. Настоятельно рекомендуется выполнить обновление до Windows 10 или 8.

ПРИМЕЧАНИЕ. В некоторых случаях простая перезагрузка компьютера может решить различные проблемы с сетью. Если вы перезагрузите устройство, но проблемы с сетью по-прежнему возникают, продолжайте работу с этим документом.

Проблемы с подключением к Интернету могут вызывать такие программы, как брандмауэры, антивирусные приложения, VPN-клиенты и различные вредоносные программы. При возникновении проблем с подключением к Интернету в Windows 7, Vista или XP убедитесь, что не установлены другие брандмауэры, кроме брандмауэра Windows. Если используются другие брандмауэры, рассмотрите возможность их удаления и повторного включения брандмауэра Windows. Если проблема сохраняется, попробуйте выполнить следующие команды.

Чтобы автоматизировать этот процесс, загрузите и запустите networkquickfix.bat.

Примечание. Процессы одинаковы для Windows 8 и Windows 10.

Windows 10

Откройте экран Metro и введите «command», после чего автоматически откроется панель поиска. Щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора» в нижней части экрана.

Введите следующие команды, нажимая Enter после каждой команды:

Перезагрузите компьютер.

Windows 8

Откройте экран Metro и введите «command», после чего автоматически откроется панель поиска. Щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора» в нижней части экрана.

Введите следующие команды, нажимая Enter после каждой команды:

Перезагрузите компьютер.

Windows 7 и Vista

Нажмите «Пуск» и введите «команда» в поле поиска. Щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора».

Введите следующие команды, нажимая Enter после каждой команды:

Перезагрузите компьютер.

Windows XP

Нажмите "Пуск", затем выберите "Выполнить".

Введите "command" и нажмите клавишу ввода.

Введите следующие команды, нажимая Enter после каждой команды:

Примечание. Для правильной работы этих трех команд в Windows XP должен быть установлен пакет обновлений 2 (или более поздней версии). В противном случае будет работать только первая команда.

Перезагрузите компьютер.

Обзор

Если команды введены правильно, но возникают ошибки, сеть Windows может быть серьезно повреждена. Кроме того, если эти команды не возвращают ошибок, но не исправляют подключение к Интернету после перезагрузки компьютера, рассмотрите возможность дальнейшего устранения неполадок:

У вас есть компьютер под управлением Windows 7 или Windows Server 2008 R2.

На компьютере установлен драйвер фильтра Transport Driver Interface (TDI). Например, драйвер фильтра TDI устанавливается при установке McAfee VirusScan.

Приложение открывает прослушивающий TCP-порт для приема соединений.

В этом случае приложение может получить следующее сообщение об ошибке:

WSAECONNRESET (10054) Соединение сброшено узлом.
Существующее подключение было принудительно закрыто удаленным хостом.

Эта проблема возникает из-за того, что драйвер TCP/IP не закрывает незавершенное TCP-соединение. Вместо этого драйвер TCP/IP отправляет уведомление о том, что драйвер TCP/IP готов к приему данных, когда создается незавершенное соединение TCP. Таким образом, приложение получает экземпляр ошибки 10054, указывающий, что подключение сбрасывается, когда приложение получает данные от подключения.

Разрешение

Чтобы решить эту проблему, установите это исправление.

Примечание. Это исправление временно устраняет эту проблему для поставщиков приложений, прежде чем они перенесут свою реализацию на платформу фильтрации Windows (WFP). Эти поставщики приложений используют драйвер фильтра TDI или драйвер расширения TDI (TDX) на компьютере под управлением Windows 7 или Windows Server 2008 R2.

Информация об исправлении

Поддерживаемое исправление доступно в Microsoft. Однако это исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только к системам, в которых возникла проблема, описанная в этой статье. Это исправление может пройти дополнительное тестирование. Поэтому, если эта проблема не оказывает серьезного влияния на вас, мы рекомендуем дождаться следующего обновления программного обеспечения, содержащего это исправление.

Если исправление доступно для загрузки, в верхней части этой статьи базы знаний есть раздел «Исправление доступно для загрузки». Если этот раздел не отображается, обратитесь в службу поддержки клиентов Майкрософт, чтобы получить исправление.

Примечание. Если возникают дополнительные проблемы или требуется их устранение, вам может потребоваться создать отдельный запрос на обслуживание. Обычная стоимость поддержки будет применяться к дополнительным вопросам поддержки и проблемам, которые не подходят для этого конкретного исправления. Чтобы получить полный список номеров телефонов службы поддержки и обслуживания клиентов Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Исправление доступно для загрузки» отображаются языки, для которых доступно исправление. Если вы не видите свой язык, это означает, что для него недоступно исправление.

Предпосылки

Чтобы применить это исправление, необходимо использовать Windows 7 или Windows Server 2008 R2.

Информация о реестре

Важно! Этот раздел, метод или задача содержат инструкции по изменению реестра. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы.Поэтому убедитесь, что вы внимательно выполните следующие действия. Для дополнительной защиты создайте резервную копию реестра перед его изменением. Затем вы можете восстановить реестр, если возникнет проблема. Для получения дополнительных сведений о резервном копировании и восстановлении реестра щелкните следующий номер статьи базы знаний Майкрософт:

322756 Резервное копирование и восстановление реестра в WindowsЧтобы включить исправление в этом пакете, выполните следующие действия:

В редакторе реестра найдите следующий подраздел реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

Если вы используете 32-разрядную операционную систему, выполните следующий шаг:

Щелкните правой кнопкой мыши подраздел реестра "Параметры", выберите "Создать", а затем щелкните "Параметр DWORD". Если вы используете 64-разрядную операционную систему, выполните следующий шаг:

Щелкните правой кнопкой мыши подраздел реестра "Параметры", выберите "Создать" и выберите "Параметр DWORD (32-разрядное)".

Переименуйте новую запись реестра в TdxPrematureConnectIndDisabled и установите значение 1.

Требование перезапустить

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

Информация о замене исправлений

Это исправление не заменяет ранее выпущенное исправление.

Информация о файле

Глобальная версия этого исправления устанавливает файлы с атрибутами, перечисленными в следующих таблицах. Даты и время для этих файлов указаны в формате всемирного координированного времени (UTC). Даты и время для этих файлов на вашем локальном компьютере отображаются по вашему местному времени вместе с вашим текущим смещением летнего времени (DST). Кроме того, даты и время могут меняться при выполнении определенных операций с файлами.

Информация о файлах для Windows 7 и Windows Server 2008 R2

Важные исправления для Windows 7 и исправления для Windows Server 2008 R2 включены в одни и те же пакеты. Однако исправления на странице запроса исправления перечислены для обеих операционных систем. Чтобы запросить пакет исправлений для одной или обеих операционных систем, выберите исправление, указанное в разделе «Windows 7/Windows Server 2008 R2» на странице. Всегда обращайтесь к разделу «Относится к» в статьях, чтобы определить фактическую операционную систему, к которой относится каждое исправление.

Файлы МАНИФЕСТА (.manifest) и файлы MUM (.mum), устанавливаемые для каждой среды, перечислены отдельно в разделе «Дополнительная информация о файлах для Windows Server 2008 R2 и Windows 7». Файлы MUM и MANIFEST, а также связанные с ними файлы каталога безопасности (.cat) чрезвычайно важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, атрибуты которых не указаны, подписаны цифровой подписью Microsoft.

Когда мой ноутбук с Windows 10 подключился к сети Wi-Fi, на нем было написано «Нет доступа к Интернету», я мог получить доступ к веб-сайту через IE, но не мог получить доступ к магазину Microsoft. В чем проблема с моим ноутбуком?

Панель управления\Сеть и Интернет\Сетевые подключения
ПРАВЫЙ ЩЕЛЧОК НА ETHERNET GO ОТКЛЮЧИТЬ
ПРАВЫЙ ЩЕЛЧОК НА ETHERNET GO ВКЛЮЧИТЬ
РЕШЕНО

Спасибо за публикацию здесь.

Прежде чем мы пойдем дальше, могу я уточнить, какая версия ОС у вашего клиента Win 10?

Тем временем я хотел бы подтвердить, можете ли вы получить доступ к Office 365 или Outlook?

извините за поздний ответ, Windows 10 версии 2004. И еще одна проблема заключается в том, что он слишком медленный при доступе в Интернет через браузер после подключения к Wi-Fi.

Если это происходит ТОЛЬКО при подключении к сети Wi-Fi, то вероятная причина заключается в том, что на маршрутизаторе WiFi или в зоне WiFi включена какая-либо блокировка сайтов ИЛИ у вас неправильно настроены настройки DNS на адаптере WiFi.

Если это происходит независимо от того, используете ли вы Wi-Fi или кабельное соединение, проблема может быть связана с неправильной настройкой DNS на вашем маршрутизаторе/адаптере, службой блокировки DNS (например, OpenDNS), запрещающей доступ к MS, или программным обеспечением, установленным на вашем ПК, которое блокирует доступ. в MS.

Я удаляю сеть Wi-Fi, нажимая ЗАБЫТЬ, и повторное подключение к сети решает проблему.
это на DHCP.

Проголосуйте, если проблема решена

Возможно, из-за чего-то вроде одноранговой блокировки иногда блокируется IP-адрес маршрутизатора

11 ответов

Спасибо за ответ.

Исходя из моего исследования, "значок панели задач NCSI может сообщать об отсутствии Интернета на устройствах с Windows 10 2004, у которых ДЕЙСТВИТЕЛЬНО есть доступ в Интернет" – это известная проблема. Для получения дополнительной информации перейдите по следующей ссылке:

Вы можете вручную назначить IP-адрес затронутому клиенту в качестве обходного пути, после чего все снова заработает. После этого вы даже можете снова переключиться на DHCP.

Пожалуйста, обратитесь к следующим подробным шагам:

Нажмите кнопку «Пуск» и вставьте cmd.exe, выберите «Запуск от имени администратора». Затем вставьте в окно cmd следующую команду:
ipconfig /all

Найдите IPv4-адрес адаптера Wi-Fi и запомните IP-адрес, маску подсети и шлюз по умолчанию.

Нажмите кнопку «Пуск» и вставьте «ncpa.cpl», нажмите «Ввод», чтобы получить доступ к сетевым подключениям. Щелкните правой кнопкой мыши адаптер Wi-Fi и выберите свойства. Затем выберите TCP/IPv4 и нажмите Свойства.

Пожалуйста, выберите «Использовать следующий IP-адрес», введите IP-адрес, маску подсети, шлюз по умолчанию вручную и нажмите «ОК», чтобы применить изменения.

Затем вернитесь к свойствам TCP/IPv4, выберите "Получить IP-адрес автоматически" и нажмите "ОК", чтобы применить изменения.

Читайте также: