Что блокирует работу com порта
Перейти к содержимому

Что блокирует работу com порта

  • автор:

Как определить, какая программа использует или блокирует определенные порты протокола управления передачей в Windows Server 2003

В этой пошаговой статье описывается, как определить, какая программа использует или блокирует определенные порты TCP.

Версию этой статьи для Microsoft Windows XP см. в разделе 281336.

Применяется к: Windows Server 2003
Исходный номер базы знаний: 323352

Аннотация

Служебная программаNetstat.exe имеет новый переключатель, -o коммутатор, который может отображать идентификатор процесса (ID), связанный с каждым подключением. Эти сведения можно использовать для определения того, какой процесс (программа) прослушивает определенный порт. Например, netstat -ano команда может получить следующие выходные данные:

Proto Local Address Foreign Address State PID TCP 0.0.0.0:80 0.0.0.0:0 Listening 888 

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

Сопоставление идентификатора процесса с программой

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

  1. Нажмите клавиши CTRL + SHIFT + ESC , чтобы открыть диспетчер задач.
  2. Перейдите на вкладку Процессы .
  3. Если у вас нет столбца PID, выберите Вид>Выбрать столбцы, а затем установите флажок PID (идентификатор процесса).
  4. Выберите заголовок столбца с меткой PID, чтобы отсортировать процесс по ИДЕНТИФИКАТОРАм. Вы сможете легко найти идентификатор процесса и сопоставить его с программой, которая указана в диспетчере задач.

Получение дополнительных сведений о служебной программе Netstat.exe

Чтобы получить дополнительные сведения о служебной программеNetstat.exe , выполните следующие действия.

  1. Щелкните последовательно Пуск>Выполнить.
  2. В поле Открыть введите cmd и нажмите кнопку ОК.
  3. В командной строке введите netstat /? .

Обратная связь

Были ли сведения на этой странице полезными?

Очистка занятых 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 портов.

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

    Изменение виртуального COM-порта для использования полевого пробника с EMC32

    FAQs from Rohde & Schwarz

    Мы используем программное обеспечение EMC32 для измерений ЭМВ. В настоящее время у нас есть проблемы с интеграцией полевого пробника. Мы не можем изменить COM-порт последовательного адаптера или USB-адаптера пробника и поэтому не можем использовать полевой пробник с EMC32.

    Ответ

    Виртуальный COM-порт можно изменить в Microsoft Windows. См. диспетчер устройств Windows. Устройству, которое подключается к ПК, автоматически назначается виртуальный COM-порт с определенным номером. Этот номер порта также доступен в EMC32.

    Параметры брандмауэра Windows и портов для клиентов в Configuration Manager

    Клиентским компьютерам в Configuration Manager, на которых запущен брандмауэр Windows, часто требуется настроить исключения, чтобы разрешить обмен данными с их сайтом. Исключения, которые необходимо настроить, зависят от функций управления, используемых с клиентом Configuration Manager.

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

    Изменение портов и программ, разрешенных брандмауэром Windows

    Используйте следующую процедуру, чтобы изменить порты и программы в брандмауэре Windows для клиента Configuration Manager.

    Изменение портов и программ, разрешенных брандмауэром Windows
    1. На компьютере с брандмауэром Windows откройте панель управления.
    2. Щелкните правой кнопкой мыши брандмауэр Windows и выберите команду Открыть.
    3. Настройте все необходимые исключения и все необходимые пользовательские программы и порты.

    Программы и порты, необходимые Configuration Manager

    Следующие Configuration Manager функции требуют исключений в брандмауэре Windows:

    Запросы

    При запуске консоли Configuration Manager на компьютере с брандмауэром Windows запросы завершаются сбоем при первом запуске, и операционная система отображает диалоговое окно с запросом на разблокировку statview.exe. Если разблокировать statview.exe, последующие запросы будут выполняться без ошибок. Вы также можете вручную добавить Statview.exe в список программ и служб на вкладке Исключения брандмауэра Windows перед выполнением запроса.

    Принудительная установка клиента

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

    • Исходящие и входящие: общий доступ к файлам и принтерам
    • Входящие: инструментарий управления Windows (WMI)

    Установка клиента с помощью групповая политика

    Чтобы использовать групповая политика для установки клиента Configuration Manager, добавьте общий доступ к файлам и принтерам в качестве исключения в брандмауэр Windows.

    Запросы клиентов

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

    Исходящий трафик: TCP-порт 80 (для связи по протоколу HTTP)

    Исходящий: TCP-порт 443 (для связи по протоколу HTTPS)

    Это номера портов по умолчанию, которые можно изменить в Configuration Manager. Дополнительные сведения см. в статье How to How to Configure Client Communication Ports (Настройка клиентских портов связи). Если эти порты были изменены по сравнению со значениями по умолчанию, необходимо также настроить соответствующие исключения в брандмауэре Windows.

    Уведомление клиента

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

    Исходящий: TCP-порт 10123

    Если эта связь не выполняется, Configuration Manager автоматически вернется к использованию существующего порта связи между клиентом и точкой управления HTTP или HTTPS:

    Исходящий трафик: TCP-порт 80 (для связи по протоколу HTTP)

    Исходящий: TCP-порт 443 (для связи по протоколу HTTPS)

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

    Удаленное управление

    Чтобы использовать Configuration Manager удаленного управления, разрешите следующий порт:

    Удаленный помощник и удаленный рабочий стол

    Чтобы инициировать удаленный помощник из консоли Configuration Manager, добавьте настраиваемую программуHelpsvc.exe и пользовательский порт TCP 135 для входящего трафика в список разрешенных программ и служб в брандмауэре Windows на клиентском компьютере. Необходимо также разрешить удаленный помощник и удаленный рабочий стол. При запуске удаленного помощника с клиентского компьютера брандмауэр Windows автоматически настраивает и разрешает удаленный помощник и удаленный рабочий стол.

    прокси-сервер Wake-Up

    Если включить параметр клиента прокси-сервера пробуждения, новая служба с именем ConfigMgr Wake-up Proxy использует одноранговый протокол, чтобы проверить, не бодрствуют ли другие компьютеры в подсети, и при необходимости разбудить их. Это взаимодействие использует следующие порты:

    Исходящий: UDP-порт 25536

    Исходящий: UDP-порт 9

    Это номера портов по умолчанию, которые можно изменить в Configuration Manager с помощью параметров клиентов Управления питаниемномера порта прокси-сервера пробуждения (UDP) и номера порта пробуждения по локальной сети (UDP). Если указать параметр Управление питанием: исключение брандмауэра Windows для клиента прокси-сервера пробуждения , эти порты автоматически настраиваются в брандмауэре Windows для клиентов. Однако если клиенты запускают другой брандмауэр, необходимо вручную настроить исключения для этих номеров портов.

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

    Дополнительные сведения о прокси-сервере пробуждения см. в статье Планирование пробуждения клиентов.

    Windows Просмотр событий, Windows Монитор производительности и диагностика Windows

    Чтобы получить доступ к windows Просмотр событий, Windows Монитор производительности и диагностике Windows из консоли Configuration Manager, включите общий доступ к файлам и принтерам в качестве исключения в брандмауэре Windows.

    Порты, используемые во время развертывания клиента Configuration Manager

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

    Если между серверами системы сайта и клиентским компьютером есть брандмауэр, убедитесь, что брандмауэр разрешает трафик для портов, необходимых для выбранного метода установки клиента. Например, брандмауэры часто препятствуют успешной принудительной установке клиента, так как блокируют серверный блок сообщений (SMB) и удаленные вызовы процедур (RPC). В этом сценарии используйте другой метод установки клиента, например ручную установку (запуск CCMSetup.exe) или установку клиента на основе групповая политика. Эти альтернативные методы установки клиента не требуют SMB или RPC.

    Сведения о настройке брандмауэра Windows на клиентском компьютере см. в разделе Изменение портов и программ, разрешенных брандмауэром Windows.

    Порты, используемые для всех методов установки

    Описание UDP TCP
    Протокол HTTP с клиентского компьютера в резервную точку состояния, когда клиенту назначается резервная точка состояния. 80 (см. примечание 1, доступный альтернативный порт)

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

    Описание UDP TCP
    Серверный блок сообщений (SMB) между сервером сайта и клиентским компьютером. 445
    Сопоставитель конечных точек RPC между сервером сайта и клиентским компьютером. 135 135
    Динамические порты RPC между сервером сайта и клиентским компьютером. ДИНАМИЧЕСКИЙ
    Протокол HTTP от клиентского компьютера до точки управления, когда подключение выполняется по протоколу HTTP. 80 (см. примечание 1, доступный альтернативный порт)
    Безопасный протокол HTTPS от клиентского компьютера до точки управления, если подключение выполняется по протоколу HTTPS. 443 (см. примечание 1, доступный альтернативный порт)

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

    Описание UDP TCP
    Протокол HTTP с клиентского компьютера в точку обновления программного обеспечения. 80 или 8530 (см. примечание 2, Windows Server Update Services)
    Протокол HTTPS с клиентского компьютера в точку обновления программного обеспечения. 443 или 8531 (см. примечание 2, Windows Server Update Services)
    Серверный блок сообщений (SMB) между исходным сервером и клиентским компьютером при указании свойства командной строки CCMSetup /source: . 445

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

    Описание UDP TCP
    Протокол HTTP от клиентского компьютера до точки управления, когда подключение выполняется по протоколу HTTP. 80 (см. примечание 1, доступный альтернативный порт)
    Безопасный протокол HTTPS от клиентского компьютера до точки управления, если подключение выполняется по протоколу HTTPS. 443 (см. примечание 1, доступный альтернативный порт)
    Серверный блок сообщений (SMB) между исходным сервером и клиентским компьютером при указании свойства командной строки CCMSetup /source: . 445

    Порты, используемые при установке вручную и при установке на основе скрипта входа

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

    Описание UDP TCP
    Серверный блок сообщений (SMB) между точкой распространения и клиентским компьютером. 445
    Протокол HTTP от клиента к точке распространения, когда подключение выполняется по протоколу HTTP. 80 (см. примечание 1, доступный альтернативный порт)
    Безопасный протокол HTTPS от клиента до точки распространения, если подключение выполняется по протоколу HTTPS. 443 (см. примечание 1, доступный альтернативный порт)

    Примечания

    1 Доступный альтернативный порт В Configuration Manager можно определить альтернативный порт для этого значения. Если пользовательский порт определен, замените его при определении сведений о фильтре IP-адресов для политик IPsec или для настройки брандмауэров.

    2 Windows Server Update Services Вы можете установить windows Server Update Service (WSUS) на веб-сайте по умолчанию (порт 80) или на пользовательском веб-сайте (порт 8530).

    После установки можно изменить порт. Вам не нужно использовать один и тот же номер порта во всей иерархии сайта.

    Если http-порт равен 80, порт HTTPS должен иметь значение 443.

    Если HTTP-порт является чем-либо другим, порт HTTPS должен быть на 1 выше. Например, 8530 и 8531.

    Обратная связь

    Были ли сведения на этой странице полезными?

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

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