Как узнать занят порт или нет
Требования.
Статья применима для Windows 2000/XP/Vista/7.
Информация.
При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: «Извините, но предпочитаемый порт номер занят!». И самое интересное программа не говорит чем или кем занят порт.
Как определить каким процессом (программой) занят порт.
1. В меню «Пуск» выберите пункт «Выполнить«;
2. В поле «Открыть» наберите команду cmd и нажмите кнопку «ОК»;
Откроется окно командной строки, примерно такого вида:
3. Наберите команду netstat -ano и нажмите кнопку «Ввод» (Enter) на клавиатуре;
Результатом выполнения данной команды, должен быть список всех активных подключений, с ip-адресами и номерами портов.
4. Теперь в колонке «Локальный адрес», находим нужный нам порт и записываем его идентификатор в колонке «PID»;
Например порт номер 80, его идентификатор 440.
5. Снова открываем меню «Пучк» и выбираем пункт «Выполнить«;
6. В поле «Открыть» вводим команду taskmgr и нажимаем кнопку «ОК»;
7. В окне «Диспетчер задач Windows» переходим на вкладку «Процессы«;
8. В главном меню открываем пункт «Вид» и выбираем пункт «Выбрать столбцы. «;
9. В окне «Выбор столбцов» находим пункт «Идентиф. процесса (PID)» и ставим рядом с ним галочку;
10. Нажимаем кнопку «ОК»;
11. Теперь в окне «Диспетчер задач Windows«, нажимаем на заголовок столбца «PID», для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце «Имя образа«, смотрим какой процесс занимает наш порт;
В нашем случаи это Apache.exe
| КПД статьи 44.11% |
| Статья помогла? | |
| 3310 | 1850 |
| КОММЕНТАРИИ |
Как определить, какая программа использует или блокирует определенные порты протокола управления передачей в 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
При использовании диспетчера задач можно сопоставить идентификатор процесса, указанный в списке, с именем процесса (программа). С помощью этой функции можно найти конкретный порт, используемый программой в настоящее время. Так как программа уже использует этот конкретный порт, другой программе запрещено использовать этот же порт.
Сопоставление идентификатора процесса с программой
Чтобы сопоставить идентификатор процесса с программой, выполните следующие действия:
- Нажмите клавиши CTRL + SHIFT + ESC , чтобы открыть диспетчер задач.
- Перейдите на вкладку Процессы .
- Если у вас нет столбца PID, выберите Вид>Выбрать столбцы, а затем установите флажок PID (идентификатор процесса).
- Выберите заголовок столбца с меткой PID, чтобы отсортировать процесс по ИДЕНТИФИКАТОРАм. Вы сможете легко найти идентификатор процесса и сопоставить его с программой, которая указана в диспетчере задач.
Получение дополнительных сведений о служебной программе Netstat.exe
Чтобы получить дополнительные сведения о служебной программеNetstat.exe , выполните следующие действия.
- Щелкните последовательно Пуск>Выполнить.
- В поле Открыть введите cmd и нажмите кнопку ОК.
- В командной строке введите netstat /? .
Обратная связь
Были ли сведения на этой странице полезными?
Какая программа слушает определенный порт в Windows?

26.10.2022

itpro

Windows 10, Windows Server 2019

комментария 2
При запуске новых сервисов в Windows, вы можете обнаружить что нужный порт уже занят (слушается) другой программой (процессом). Разберемся, как определить какая программ прослушивает определенный TCP или UDP порт в Windows.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Например, вы не можете запустить сайт IIS на стандартном 80 порту в Windows, т.к. этот порт сейчас занят (при запуске нескольких сайтов в IIS вы можете запускать их на одном или на разных портах). Как найти службу или процесс, который занял этот порт и завершить его?
Чтобы вывести полный список TCP и UDP портов, которые прослушиваются вашим компьютером, выполните команду:
netstat -aon| find «LIST»
Или вы можете сразу указать искомый номер порта:
netstat -aon | findstr «:80» | findstr «LISTENING»
Используемые параметры команды netstat:
- a – показывать сетевые подключения и открытые порты
- o – выводить идентфикатор професса (PID) для каждого подключения
- n – показывать адреса и номера портов в числовом форматер
По выводу данной команды вы можете определить, что 80 порт TCP прослушивается (статус LISTENING ) процессом с PID 16124.

Вы можете определить исполняемый exe файл процесса с этим PID с помощью Task Manager или с помощью команды:
tasklist /FI «PID eq 16124»

Можно заменить все указанные выше команды одной:
for /f «tokens=5» %a in (‘netstat -aon ^| findstr :80’) do tasklist /FI «PID eq %a»
С помощью однострочной PowerShell команды можно сразу получить имя процесса, который прослушивает:
- TCP порт: Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
- UDP порт: Get-Process -Id (Get-NetUDPEndpoint -LocalPort 53).OwningProcess

См. статью про просмотр сетевых подключений в Windows с помощью PowerShell.
Можно сразу завершить этот процесс, отправив результаты через pipe в командлет Stop-Process:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess| Stop-Process
Проверьте, что порт 80 теперь свободен:

Чтобы быстрой найти путь к исполняемому файлу процесса в Windows, используйте команды:
dir tiny.exe /s /p
Или можно для поиска файла использовать встроенную команду where :
В нашем случае мы нашли, что исполняемый файл tiny.exe (легкий HTTP сервер), который слушает 80 порт, находится в каталоге c:\Temp\tinyweb\tinyweb-1-94

Также для просмотра списка процессов и используемых ими TCP портов в Windows можно использовать утилиту TCPView (https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview).

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Предыдущая статья Следующая статья
Как проверить, открыт ли порт
В этой статье мы расскажем, что такое порт, какие они бывают и как проходит проверка порта на локальном и удаленном компьютере.
Вы можете узнать, открыт ли порт, с помощью нашего сервиса проверки доступности портов.
Что такое порт
Порт — это числовой идентификатор программы или процесса, который обслуживает сетевые соединения на заданном IP-адресе. Номера портов могут быть от 0 до 65 535.
Каждое устройство (компьютер, ноутбук, мобильный телефон и др.) имеет свой IP-адрес. Он дает возможность организовывать сетевые соединения между устройствами. Но на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Например, есть интернет-сервер с IP-адресом. На нем расположен: веб-сервер, почтовый сервер, FTP-сервер. Как сделать так, чтобы мы могли связаться именно с почтовым сервером? Для этого и нужен порт. Порты предоставляют возможность идентифицировать сетевые приложения на отдельно взятом компьютере.
Есть стандартные порты, такие как:
- порт 80 — для веб-сервера, который работает по протоколу HTTP,
- порт 443 — для защищенного SSL-сертификатом веб-сервера, который работает по протоколу HTTPS,
- порт 21 — для FTP-протокола (протокола передачи файлов).
Как проверить, открыт ли порт
Проверка порта на доступность возможна как для своего (локального) компьютера , так и для удаленного.
Как узнать, какие порты открыты на локальном компьютере в Windows
- Вызовите командную строку сочетанием клавиш Win+R.
- Введите команду «cmd» и нажмите ОК:
- Пропишите команду netstat -a и кликните Enter:
Готово, перед вами список открытых портов на вашем компьютере.
Как узнать, какие порты открыты на удаленном компьютере
Провести проверку портов на открытость удаленного компьютера можно при помощи команды telnet.
Telnet — это утилита, с помощью которой можно соединиться с удаленным портом любого компьютера. Telnet позволяет установить связь, чтобы передавать команды и получать ответы (например, сделать проброс портов).
В Windows 7/8/10 и Vista утилита telnet отключена по умолчанию. Утилиту можно установить по инструкции.
Как проверить доступность порта с помощью команды telnet в Windows:
- Вызовите командную строку сочетанием клавиш Win+R.
- Введите команду «cmd» и нажмите ОК.
- В окне терминала введите команду: telnet имя_сервера номер_порта (например, telnet mysite.ru 31). Можно проверить порт на доступность по IP, если ввести команду telnet IP_сервера номер_порта (например, telnet 10.0.119.127 31).
- Если на экране появится текст «“telnet” не является внутренней или внешней командой, исполняемой программой или пакетным файлом», то на вашем компьютере отключена утилита и ее надо установить по инструкции:
- Если на экране командной строки появится ошибка, значит порт закрыт:
- Если экран станет полностью пустым или появится приглашение сервера, значит порт открыт:
Популярные статьи
- Как указать (изменить) DNS-серверы для домена
- Я зарегистрировал домен, что дальше
- Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
- Что такое редирект: виды и возможности настройки
- Как создать почту со своим доменом