Виправлення неполадок вичерпання портів у Windows

Будь-яке мережеве з'єднання між комп'ютерами (протоколи TCP або UDP) здійснюється через порти. Уявіть, що це точки входу або шлюзи, які використовуються службою або додатком. У міру створення більшої кількості з'єднань клієнтів, кількість портів зменшується. У цій публікації ми поділимося, як усунути неполадки Виснаження порту випуски

Є два типи портів - Динамічні порти і Визначені порти. Динамічні порти дозволяють декільком клієнтам підключатися до визначених портів. Веб-сайти є гарним прикладом. Вони зазвичай мають порт 80, але використовують активний порт, вони можуть обслуговувати декілька клієнтів. Оскільки існує обмеження для Dynamic port, підключення почнеться невдало, коли всі порти зайняті. Вона називається портом виснаження.

Усунення несправностей порту в Windows

Усунення несправностей порту

Основним мотивом цього посібника з усунення несправностей є визначення того, який процес або програма вичерпує порт. Після того, як ви визначили його, наступним кроком буде виправлення програми.

Симптоми для виявлення вичерпання порту:

1] Не вдається ввійти до машини з обліковими даними домену, однак, вхід з роботами локальних облікових записів. Можливо, що вже використовуваний рахунок може працювати, але новий не вдасться. Це відбувається через кешування.

2] Оновлення групової політики почне невдало. Кожен раз, коли ви намагаєтеся вносити зміни, ви можете отримати повідомлення про помилку "не вдалося через відсутність підключення до мережі з контролером домену". Це може бути тимчасовим, але є ознакою.

3] Обмін файлами або мережеві диски стають недоступними.

4] Віддалений робочий стіл на сервер, на якому розміщено програму, не працює.

Інші ознаки включають ідентифікатор події 4227, 4231 у програмі перегляду подій для TCP з повідомленням про те, що виділення динамічного порту не вдалося. Команда NetStat показує величезну кількість записів для стану TIME_WAIT для конкретної програми тощо.

Використовуйте NetStat для Windows 10 і Windows Server 2016

  • Відкрити командний рядок з підвищеними привілеями.
  • Запустіть команду netstat -anobq
  • Далі перевірте наявність ідентифікатора процесу, який має максимальну кількість записів як BOUND.

Якщо ви використовуєте PowerShell, ви можете використовувати команду нижче, щоб ідентифікувати процес з максимальним Bound.

Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Виберіть -Система властивостей, Ім'я, @ {Ім’я = "Ім'я_процесу"; Вираз = {(Get-Process -PID ($ _. Name.Split (',') [- 1] .Trim (''))). }}, Група | Сортування підрахунку -Descendin

Багато разів клієнти не закривають порти правильно. Навіть не використовуються, ці порти не є безкоштовними. Це одна з головних причин виснаження порту.

Якщо часто виникає потреба, можна скористатися Команда Netstat у циклі. Вихідні дані можуть бути доступні в текстовому файлі, який можна використовувати для моніторингу тренда. Ось як виглядає сценарій:

@ECHO ON набір v =% 1: набір циклів / a v + = 1 ECHO% date%% time% >> netstat.txt netstat -no >> netstat.txt PING 1.1.1.1 -n 1 -w 60000

Використовуйте Диспетчер завдань, щоб знайти максимальні ручки

Знайдіть ручки програм за допомогою диспетчера завдань

Трохи більш природний метод пошуку таких додатків використовує диспетчер завдань. Хоча PowerShell і Command Prompts мають свої переваги, якщо ви хочете швидко побачити процес, це кращий метод.

  • Відкрийте диспетчер завдань і перейдіть до Вкладка Деталі.
  • Клацніть правою кнопкою миші на будь-якому з стовпців і натисніть "Виберіть стовпці».
  • Додайте “Ручки” з доступних опцій.
  • Натисніть на заголовок стовпців ручки, щоб відсортувати їх за максимальним числом.

Корпорація Майкрософт пропонує, якщо будь-які з'єднання виявляться невдалими, то перевірте, чи кількість ручок вище, ніж 3000. Якщо це так, то заява є винуватцем. Тим не менш, служби ОС є винятком з цього. Для інших припиніть цей процес один раз, а потім спробуйте увійти, використовуючи облікові дані домену, і перевірте, чи він успішно виконано.

Process Explorer

Обробка додатків Process Explorer

Ви можете використовувати Process Explorer у випадку, якщо менеджер завдань не допомагає. Це корисно для відстеження проблем з DLL-версією або для обробки витоків, а також для розуміння прикладних програм. Процесор Explorer слід завантажити з тут та встановлено. Переконайтеся, що його запустити з підвищеними привілеями.

  1. Клацніть правою кнопкою миші заголовок стовпця, а потім виберіть "Вибрати стовпці".
  2. Перейдіть на вкладку "Продуктивність" та додайте Облік ручки.
  3. У меню натисніть Перегляд> Показати нижню панель.
  4. Знову натисніть на меню, виберіть Перегляд> Нижній перегляд панелі> Ручки.
  5. Сортувати ручки в порядку убування.
  6. Вона розкриє процес (и) з найвищим значенням ручки
  7. Клацніть, щоб виділити один з процесів з лічильником верхньої ручки.
  8. Нижня панель відкриє тип для всіх ручок. Порти або сокети зазвичай мають позначки "File DeviceAFD".

Закрийте процес з великою кількістю ручок. Якщо програма повертається назад, це може бути причиною, і вам доведеться виправити додаток або попросити розробника OEM виправити його. Якщо ви не можете виправити це, оскільки програма вимагає цього, слід розглянути можливість збільшення кількості портів, які може використовувати комп'ютер. Наведена нижче команда (приклад) може змінити діапазон і підняти її.

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

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

При цьому рішення все ще є тимчасовим. Як адміністратор ІТ, вам доведеться знайти краще рішення для усунення вичерпання порту. Іноді для збільшення портів можна використовувати кілька серверів, але це зовсім інша ліга.

Оригінал статті

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.