справочник помощи по Happ RUПоиск/
Сеть и маршрутизация

Порт занят: как найти и освободить

Где искать причину

Другие клиенты и сетевой софт

На время проверки завершите подключение в другом VPN-клиенте. Затем проверьте, не занимает ли нужный порт или адаптер другая программа.

К разбору и действиям ↓
В этой статье

Найти, кто занял порт

  1. Откройте терминал. Win + X → «Терминал» или «Командная строка». Прав администратора для просмотра обычно достаточно обычных.
  2. Посмотрите, кто слушает порт: netstat -ano | findstr:<порт> Подставьте номер порта из настроек приложения. В конце строки будет число - идентификатор процесса (PID).
  3. Узнайте имя процесса по PID: tasklist | findstr <PID> Либо откройте диспетчер задач, вкладку «Подробности», и найдите строку с этим PID.

Три способа решить

Ситуация Решение
Порт держит вторая копия того же приложения Завершить лишний процесс в диспетчере задач
Порт держит другой прокси-клиент Не запускать их одновременно: конфликт
Порт занят посторонней программой Сменить порт в настройках Happ
Порт занят системным процессом Сменить порт: спорить с системой бессмысленно
Процесс не находится, но порт занят Перезагрузиться: остались висящие соединения

Про «зарезервированные диапазоны»

Windows иногда резервирует диапазоны портов под собственные нужды (это видно командой netsh int ipv4 show excludedportrange protocol=tcp). Если ваш порт попал в такой диапазон, слушать его не выйдет - просто выберите другой номер, например выше 10000.

Как сменить порт

В настройках приложения найдите номера локальных портов SOCKS и HTTP и укажите свободные. После смены обязательно обновите настройки во всех программах, где порт был прописан вручную: браузер с ручной настройкой SOCKS, мессенджеры, переменные окружения. Где что смотреть - локальный SOCKS и HTTP.

Если включён системный прокси, приложение перепишет системную настройку само. Проверить можно в Параметрах Windows: адрес должен указывать на новый порт.

Можно ли завершить процесс, который занял порт, командой?

Да: taskkill /PID <номер> /F. Но сначала убедитесь, что это не системный процесс, - иначе получите неожиданные последствия.

Ошибка появляется при каждом запуске

Значит, порт занимает программа, стартующая раньше. Проще сменить порт в Happ, чем воевать с чужой автозагрузкой.

Что за порт вообще нужен приложению?

Локальный, на 127.0.0.1 - через него программы отдают трафик в туннель. Наружу этот порт по умолчанию не смотрит.

Нашли ответ? Сохраните ссылку на эту инструкцию