Устранение проблем исчерпания порта в Windows

Сеть
Любое сетевое соединение между компьютерами (протоколы TCP или UDP) осуществляется через порты. Представьте их как точки входа или шлюзы, которые используются сервисом или приложением. По мере увеличения количества клиентских подключений количество портов уменьшается. В этом посте мы расскажем, как устранить проблемы исчерпания порта . Существует два типа портов - Динамические порты и Определенные порты .

Любое сетевое соединение между компьютерами (протоколы TCP или UDP) осуществляется через порты. Представьте их как точки входа или шлюзы, которые используются сервисом или приложением. По мере увеличения количества клиентских подключений количество портов уменьшается. В этом посте мы расскажем, как устранить проблемы исчерпания порта .

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

Содержание

  1. Устранение неполадок исчерпания порта в Windows
  2. Используйте NetStat для Windows 10 и Windows Server 2016
  3. Используйте диспетчер задач, чтобы найти максимальное количество ручек
  4. Process Explorer

Устранение неполадок исчерпания порта в Windows

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

Симптомы, указывающие на истощение портов:

1] Невозможно войти на компьютер с учетными данными домена, однако вход с локальной учетной записью работает. Возможно, что уже использованная учетная запись может работать, но новая не удастся. Это происходит из-за кеширования.

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

3] Файловые ресурсы или сетевые диски становятся недоступными.

4] Сбой удаленного рабочего стола на сервере, где размещено приложение.

Другие признаки включают в себя идентификатор события 4227, 4231 в средстве просмотра событий для TCP с сообщением о том, что выделение динамического порта не выполнено. Команда NetStat показывает огромное количество записей для состояния TIME_WAIT для конкретного приложения и так далее.

Используйте NetStat для Windows 10 и Windows Server 2016

  • Откройте командную строку с повышенными привилегиями.
  • Запустите команду netstat -anobq
  • Затем проверьте идентификатор процесса, который имеет максимальное количество записей в качестве BOUND.

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

Get-NetTCPConnection | Группа-Объект -Состояние собственности, OwningProcess | Выберите -Property Count, Name, @ {Name = «ProcessName»; Expression = {(Get-Process -PID ($ _. Name.Split (‘,’) [- 1] .Trim (»))). Name }}, Группа | Счетчик сортировки -Descendin

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

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

@ECHO ONустановить v =% 1: петляset/a v + = 1ECHO% date%% time% >> netstat.txtnetstat -ano >> netstat.txtPING 1.1.1.1 -n 1 -w 60000> NULПерейти к циклу

Используйте диспетчер задач, чтобы найти максимальное количество ручек

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

  • Откройте диспетчер задач и перейдите на вкладку Подробности .
  • Щелкните правой кнопкой мыши по любому из столбцов и выберите « Выбрать столбцы ».
  • Добавьте «Ручки» из доступных вариантов.
  • Нажмите на заголовок столбца маркеров, чтобы отсортировать его по максимальному количеству.

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

Process Explorer

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

  1. Щелкните правой кнопкой мыши заголовок столбца и выберите «Выбрать столбцы».
  2. Перейдите на вкладку «Производительность» и добавьте Счетчик обращений .
  3. В меню нажмите Вид> Показать нижнюю панель .
  4. Снова нажмите на меню, выберите Вид> Вид нижней панели> Ручки .
  5. Сортируйте ручки в порядке убывания.
  6. Он покажет процесс (ы) с наибольшим количеством ручек
  7. Нажмите, чтобы выделить один из процессов со счетчиком верхней ручки.
  8. Нижняя панель покажет тип для всех ручек. Порты или сокеты обычно имеют метки «Файл Устройство AFD».

Закройте процесс с большим количеством ручек. Если приложение запускается снова, это может быть причиной, и вам придется исправить приложение или попросить разработчика OEM исправить это. Если вы не можете это исправить, потому что приложение требует этого, вам следует рассмотреть возможность увеличения количества портов, которые может использовать компьютер. Приведенная ниже команда (пример) может изменить диапазон и увеличить его.

netsh int ipv4 set динамический порт tcp start = 10000 num = 1000

Минимальный начальный порт, который можно установить, составляет 1025. Максимальный конечный порт не может превышать 65535.

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

Оцените статью
Добавить комментарий