Как определить какой com порт занят
Перейти к содержимому

Как определить какой com порт занят

  • автор:

Как открыть порты в Windows и посмотреть список открытых портов

Как открыть порты в Windows

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

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

Открытие портов в брандмауэре Windows

Основной способ открытия портов в Windows 11 и 10 — настройка соответствующих правил в брандмауэре.

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

  • нажмите клавиши Win+R на клавиатуре и введите wf.msc в окно «Выполнить», затем нажмите Ener.
  • Используйте поиск в панели задач. Открыть брандмауэр в режиме повышенной безопасности через поиск
  • В Панели управления откройте пункт «Брандмауэр Защитника Windows», а в нем, в панели слева выберите «Дополнительные параметры». Открыть брандмауэр защитника Windows в режиме повышенной безопасности в панели управления
  • В окне «Безопасность Windows» откройте «Брандмауэр и безопасность сети» и нажмите «Дополнительные параметры» на следующем экране настроек. Открыть брандмауэр в окне Безопасность Windows

Следующий шаг — настроить правила для нужных портов:

  1. Нажмите правой кнопкой мыши по «Правила для входящих подключений» и выберите пункт «Создать правило» в контекстном меню. Создать новое правило в брандмауэре Windows
  2. В мастере создания правил выберите пункт «Для порта» и нажмите «Далее». Создать правило для порта в брандмауэре
  3. Выберите тип протокола — TCP или UDP (если вам не известен нужный тип, уточните в справке по конкретной программе).
  4. Укажите порты: конкретный порт или их диапазон, можно использовать запятые для перечисления нескольких портов, или знак дефиса для указания их диапазона. Нажмите «Далее». Указать порты, которые нужно открыть в брандмауэре
  5. Выберите пункт «Разрешить подключение». Разрешить подключение для порта
  6. Укажите, для каких типов сетей (сетевых профилей) следует открыть порты. Выбрать сетевые профили
  7. Укажите имя правила и, при желании, его описание. Затем нажмите кнопку «Готово».
  8. Выполните действия 1-7, но уже для исходящего подключения.

Готово, порт открыт и, если что-то ещё не мешает его работе, соединения должны будут устанавливаться.

Возможные проблемы и дополнительные необходимые действия

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

Открытие портов на роутере

  • VPN может влиять не возможность обмена данными по определенным портам. Решение: отключить VPN, либо посмотреть, есть ли возможность открыть порты в ПО для VPN.
  • Роутеры имеют собственные функции файрволла/брандмауэра и порты может потребоваться открыть (пробросить) и в настройках роутера. В зависимости от марки и модели Wi-Fi роутера, это выполняется в разных разделах: перенаправление портов (port forwarding), брандмауэр (firewall), межсетевой экран, виртуальные серверы. Логика настройки везде одна и та же: добавляются обычно совпадающие внешний порт и внутренний порт (нужный вам порт), указывается внутренний IP (локальный IP компьютера, к которому нужно пробросить порт), тип протокола — TCP или UDP, иногда требуется указать интерфейс, для соединений из «внешней сети» — WAN.
  • Если само приложение заблокировано в брандмауэре, оно не сможет устанавливать соединения: можно добавить правила, разрешающие подключения для программы тем же способом, которым это выполнялось выше для портов.
  • Наличие сторонних файрволлов и антивирусов с функциями защиты сети также может влиять на возможность установки соединений по определенным портам: следует проверить их настройки, при наличии такого ПО, чтобы открыть соответствующие порты или отключить защиту для них.

Как посмотреть открытые порты в Windows и какие программы их используют

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

    Запустить командную строку и ввести команду (порты указаны после двоеточия в IP-адресе)

netstat -a

Открытые порты с помощью команды netstat -a

Если требуется посмотреть, какие процессы используют определенные порты, используйте команду (требует запуска от имени администратора)

netstat -ab

Открытые порты и процессы netstat -ab

Для просмотра открытых портов с ИД (PID) процесса (по которому в диспетчере задач можно увидеть конкретный процесс):

netstat -aon

Открытые порты и PID netstat -aon

  • Есть сторонние программы, позволяющие получить сведения об открытых портах и использующих их процессах, например, бесплатная NirSoft CurrPorts. Открытые порты в CurrPorts
  • Список «стандартных» и наиболее часто используемых портов доступен в Википедии, но многие игры и программы могут использовать свои собственные, не указанные в списке порты для работы.

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • Как разрешить обычному пользователю запускать программу от имени Администратора без ввода пароля
    • Как выйти из полноэкранного режима в Windows
    • Как включить компактный вид панели быстрых настроек Windows 11
    • Шрифты в интерфейсе Chrome стали более жирными и размытыми — как исправить?
    • Msftconnecttest.com — что это и как исправить возможные ошибки
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Comraddm 08.02.2023 в 20:59

    • Dmitry 11.02.2023 в 13:13
    • Alex 09.01.2024 в 18:49

    Как определить, каким процессом занят порт TCP/IP в Windows

    Существуют разные способы решения этой задачи. Мы расскажем о двух: с помощью командной строки и Диспетчера задач (Task Manager) либо с использованием прекрасного бесплатного приложения с полным набором нужных функций.

    Способ 1: командная строка и Диспетчер задач

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

    Откройте командную строку (желательно от имени администратора, чтобы увидеть все процессы) и введите следующую команду:

     netstat -aon | more

    Справа показаны PID – идентификаторы процессов (на скриншоте ниже они выделены белым). Найдите нужный вам порт и посмотрите, с каким идентификатором он связан. Например, на нашем скриншоте адрес 0.0.0.0:80, т. е. порт 80, связан с процессом 4708.

    Как определить, каким процессом занят порт TCP/IP в Windows

    Теперь просто откройте Диспетчер задач и найдите в списке нужный ИД процесса. Возможно, для этого придется использовать опцию «Отображать процессы всех пользователей» (Show Processes for All Users). Определив нужный процесс, можно его завершить (End Process), открыть расположение файла (Open File Location) или перейти к службам (Go to Service(s)).

    Как определить, каким процессом занят порт TCP/IP в Windows

    Способ 2: утилита CurrPorts

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

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

    Как определить, каким процессом занят порт TCP/IP в Windows

    Можно дважды щелкнуть на любом пункте, чтобы посмотреть подробные сведения.

    Как определить, каким процессом занят порт TCP/IP в Windows

    С помощью CurrPorts также можно завершить процесс, не заглядывая ради этого в Диспетчер задач.

    Оцените статью: Голосов

    Copyright © 2006-2022 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+

    Как посмотреть COM-порты в Windows 10

    Для просмотра оборудования на компьютерах с Windows традиционно используется оснастка «Диспетчер устройств», однако в случае с COM-портами все нет так просто. Сегодня этот интерфейс считается устаревшим, поэтому в списке оборудования «Диспетчера устройств» он может не отображаться даже при включении опции «Показать скрытые устройства».

      Откройте «Диспетчер устройств» из контекстного меню кнопки «Пуск».

    Как посмотреть COM-порты на Windows 10-1

    Как посмотреть COM-порты на Windows 10-2

    Как посмотреть COM-порты на Windows 10-3

    В меню «Действие» открытого «Диспетчера устройств» выберите опцию «Установить старое устройство».

    В случае отсутствия опции правой кнопкой мыши кликните тут же в окне оснастки по названию компьютера и выберите «Обновить конфигурацию оборудования». Теперь опция «Установить старое устройство» должна стать доступной. Кликните по ней.

    Как посмотреть COM-порты на Windows 10-4

    Как посмотреть COM-порты на Windows 10-5

    Как посмотреть COM-порты на Windows 10-6

    Как посмотреть COM-порты на Windows 10-7

  • В следующем окне в правой части выберите «Стандартные порты», а в левой – «Последовательный порт». Нажмите «Далее».
  • Еще раз нажмите «Далее».

    Как посмотреть COM-порты на Windows 10-8

    Как посмотреть COM-порты на Windows 10-9

    Способ 2: «Редактор реестра»

    Информация о доступных физических и виртуальных COM-портах хранится в системном реестре, откуда ее можно извлечь средствами самой операционной системы.

      Откройте «Редактор реестра» командой regedit , выполненной в вызванной нажатием клавиш Win + R диалоговом окошке быстрого запуска приложений.

    Как посмотреть COM-порты на Windows 10-10

    Как посмотреть COM-порты на Windows 10-11

    Следует отметить, что использование COM-портов в современных версиях Windows не столь актуально, как раньше. Они могут понадобится только для подключения специального оборудования, например старых моделей промышленных контроллеров. Маловероятно, что обычному пользователю когда-либо придется иметь дело с подобной аппаратурой.

    Роман Вам помогли мои советы?

    Очистка занятых COM портов в Windows

    date

    02.02.2022

    user

    itpro

    directory

    PowerShell, Windows 10, Windows 7, Windows Server 2019

    comments

    комментариев 26

    Когда вы подключаете к компьютеру новое COM или некоторые USB устройства (например, USB модем, мобильный телефон, Bluetooth адаптер, конвертеров последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначит ему номер COM порта в диапазоне от 1 до 255 (COM1, COM2, COM3 и т.д.). При повторном подключении этого же устройств, ему назначается номер COM порта (Communication Port, или Serial port), зарезервированный за ним ранее. Новым устройствам выдается первый незанятый номер COM порта. Не редкость, когда внешние устройства при подключении создают сразу несколько COM портов (в моем случае после подключения адаптера Bluetooth, в системе появилось сразу 10 . новых COM портов).

    Ряд приложений (как правило, довольно древних), способны адресовать только двухзначные номера COM портов, и отказываются работать с COM100 и выше. Или видят только COM1-COM9 устройства. Что делать, если подключенное устройство получило высокий номер COM порта? Можно ли сбросить нумерацию для зарезервированных COM портов и удалить назначенные порты?

    Изменить номер COM порта устройства в Windows

    В Windows можно вручную изменить номер COM порта, назначенный устройству. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить. Для этого:

    1. Откройте диспетчер устройств (Device Manager) командой devmgmt.msc;
    2. В меню выберите View->Show Hidden Devices;Отобразить скрытые устройства
    3. Затем разверните Ports (COM & LPT) и найдите в списке устройство;
    4. Перейдите на вкладку Port Settings и нажмите кнопку Advanced;
    5. Текущий номер COM порта, назначенный устройству указан в поле COMPortNumber;
    6. Чтобы изменить его, раскройте выпадающий список и выберите номер COMпорта, который хотите задать.Изменить номер назначенного COM порта

    Но чаще всего изменить номер COM порт на другой не получится, так как все «низкие» COM порт уже используются (in use);

  • В этом случае нужно попробовать удалить резервацию COM порта за другим устройством. В ветке Ports (COM & LPT) найдите которому назначен нужный вам номер COM порта (бледная иконка означает, что данный COM порт назначен, но в сейчас это устройство не подключено);
  • Щелкните по нему ПКМ и выберите Uninstall;Удаление отключенного COM устройства
  • Теперь вы можете назначить освобожденный COM порт другому устройству. Еще раз откройте свойства вашего устройство, перейдите на вкладку PortSettings ->Advanced. Задайте свободный номер COM порта для вашего устройства.Смена COM порта
  • Однако такой способ позволяет освободить занятый COM порт не во всех случаях.

    Вы можете вывести полный список занятых COM портов в Windows с помощью PowerShell:

    Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
    Можно определить номер COM порта для определённого устройства по его имени, например:
    Get-WMIObject Win32_SerialPort | Where-Object < $_.Name -like "*Arduino*">|select name, deviceid
    Или
    Get-WMIObject Win32_SerialPort | Where-Object < $_.Name -like "*GPS*">|select name, deviceid

    Определяем процесс, который использует COM в Windows

    Вы не сможете освободить COM порт устройства, которое используется Windows или запущенной программой, процессом. Сначала вам нужно завершить процесс/программу, которая использует сейчас COM порт. Чтобы определить имя процесса, который использует COM порт понадобится утилита Process Explorer (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer).

    Сначала нужно вывести имя службы, которая использует COM порт. Выполните команду PowerShell:

    get-pnpdevice -class Ports -ea 0| Select Name, PNPDeviceID, Status, Service

    powershell: получить название процессов и служб использующих COM порты в windows

    Имя службы данного COM порта указано в столбце Service. Например, для COM2 это Serial. Теперь нужно запустить Process Explorer с правами администратора и выбрать в меню Find -> Find Handle or DLL. В строке Hangde or DLL substring введите значение Service, полученное ранее. В нашем примере это Serial .

    Process Explorer должен показать процесс, который использует сейчас ваш COM порт. Чтобы освободить COM порт, завершите процесс или программу.

    Process Explorer - ищем процесс или программу, которая используется com serial порт в windows

    Сброс назначенных COM портов Windows через реестр

    Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter

      Откройте редактор реестра (regedit.exe) и перейдите в указанную ветку.

    Важно! Настоятельно рекомендуем предварительно создать резервную копию данной ветки реестра (File -> Export). В том случае, если что-то пойдет не так, вы сможете вернуться к первоначальной конфигурации COM портов.

    COM Name Arbiter
    Значение параметра ComDB в двоичном формате определяет список COM портов, зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100);ComDB

    Важно! Будьте предельно внимательными, ни в коем случае не добавьте в этот параметр дополнительные байт, иначе система может начать падать в BSOD.

    Сбросить привязки COM портов

    Если нужно полностью сбросить все привязки COM, измените значение ключа ComDB на 0.

    SERIALCOMM

    Примечание. В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеть полный список COM портов, доступных в Windows.В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеться список COM портов, подключенных к системе.

    список COM портов в реестре

  • В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Ports содержится список назначенных COM портов. Все ненужные порты можно удалить (в нашем примере мы оставим только COM3 и удалим остальные);
  • Отключите все оборудование и перезагрузите Windows;
  • После перезагрузки включите оборудование в нужном порядке (переустановите конверторы USB-to-serial и т.д.). Все обнаруженные COM-порты автоматически определяться системой и им будут последовательно выделены номера COM портов.
  • Также вы можете использовать следующие две бесплатные утилиты для очистки занятых (In Use) COM портов:

    утилита COM Name Arbiter для очистки занятых COM портов в Windows

    • COM Name ArbiterTool – утилита для освобождения занятых COM портов. Запустите утилиту с правами администратора, выберите COM порты, которые вы хотите освободить и нажмите Clear unused Reservationsи Remove non-present devices;
    • Device Cleanup Tool – утилита используется для поиска в реестре информации о ранее подключенных устройств (в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum) и удаления неиспользуемых устройств и очистки резерваций COM портов.

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *