как узнать какая программа занимает порт
Как узнать какая программа занимает порт
Требования.
Статья применима для Windows 2000/XP/Vista/7.
Информация.
При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: «Извините, но предпочитаемый порт номер занят!». И самое интересное программа не говорит чем или кем занят порт.
Как определить каким процессом (программой) занят порт.
1. В меню «Пуск» выберите пункт «Выполнить«;
2. В поле «Открыть» наберите команду cmd и нажмите кнопку «ОК»;
Откроется окно командной строки, примерно такого вида:
Результатом выполнения данной команды, должен быть список всех активных подключений, с ip-адресами и номерами портов.
4. Теперь в колонке «Локальный адрес», находим нужный нам порт и записываем его идентификатор в колонке «PID»;
Например порт номер 80, его идентификатор 440.
5. Снова открываем меню «Пучк» и выбираем пункт «Выполнить«;
6. В поле «Открыть» вводим команду taskmgr и нажимаем кнопку «ОК»;
7. В окне «Диспетчер задач Windows» переходим на вкладку «Процессы«;
8. В главном меню открываем пункт «Вид» и выбираем пункт «Выбрать столбцы. «;
9. В окне «Выбор столбцов» находим пункт «Идентиф. процесса (PID)» и ставим рядом с ним галочку;
10. Нажимаем кнопку «ОК»;
11. Теперь в окне «Диспетчер задач Windows«, нажимаем на заголовок столбца «PID», для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце «Имя образа«, смотрим какой процесс занимает наш порт;
Блог Алексея Воронина
История, краеведение, сельское хозяйство, лесоводство, биология, IT…
Как узнать, какое приложение занимает какой-либо порт?
Часто бывает такая ситуация, что какой-либо порт (80, 8080 и т.п.) занят неизвестным приложением. Чтобы освободить порт, надо снять эту задачу. Но как узнать, какой именно процесс необходимо завершить?
Разберемся по шагам, как же решить эту проблему на примере занятого порта 8080.
Сначала узнаем идентификатор процесса (PID), занимающего этот порт, с помощью команды netstat, отображающей статистику протокола и текущих сетевых подключений TCP/IP:
ключ -o — отображение ИД процесса каждого подключения;
ключ -n — отображение адресов и номеров портов в числовом формате;
ключ -a — отображение всех подключений и портов прослушивания.
Отфильтровать содержимое ответа можно с помощью команды findstr.
Ответом на эту команду было:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3152
В ответе мы видим число 3152 — это и есть PID-идентификатор таинственного процесса, занимающего порт 8080.
Затем узнаем имя приложения, соответствующего процессу с этим PID, с помощью команды tasklist, отображающей список процессов, которые сейчас выполняются на локальном или удаленном компьютере:
tasklist /FI «PID eq 3152»
ключ /FI — выводит список задач, которые соответствуют заданным в фильтре условиям, фильтр — «PID eq 3152» — PID процесса равен 3152.
В ответ получаем:
Как узнать, какие TCP/IP-порты используют приложения Windows
IP-адрес указывает на компьютер или другое сетевое устройство. Когда одно устройство отправляет трафик другому, IP-адрес используется для маршрутизации трафика в соответствующее место. Как только трафик достигнет нужного места, устройство должно знать, какое приложение или сервис отправляет трафик.
Если IP-адрес сродни почтовому адресу, порт является чем-то вроде имени человека по этому месту жительства, который получает почту. По большей части вам не нужно беспокоиться о портах. Но время от времени вы можете столкнуться с приложением, которое настроено на прослушивание трафика на том порту, который уже использует другое приложении. В этом случае вам нужно будет определить приложение, которое уже использует этот порт.
Существует несколько способов узнать, какое приложение блокирует порт, но мы собираемся пройти через пару встроенных способов, которые используют командную строку, а затем показать вам отличное бесплатное приложение, которое упростит работу, Все эти методы должны работать независимо от того, какую версию Windows вы используете.
Встроенные инструменты контроля портов
Мы предлагаем две команды, чтобы показать список. В первом списке отображаются активные порты вместе с именем процесса, который их использует. В большинстве случаев эта команда будет работать нормально. Иногда, однако, имя процесса не поможет вам определить, какое приложение или служба фактически использует порт. В таком случае вам нужно будет перечислить активные порты вместе со номерами идентификатора процессов, а затем просмотреть эти процессы в диспетчере задач.
Просмотр портов вместе с именами процессов
Во-первых, вам нужно открыть командную строку в режиме администратора. Нажмите «Поиск», а затем введите «командная» в поле поиска. Когда вы увидите «Командная строка» в результатах, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».
В командной строке введите следующий текст и нажмите «Ввод»:
Если вы хотите сделать это немного проще, вы также можете выгрузить результаты команды в текстовый файл. Затем вы можете просто найти номер порта в текстовом файле.
Здесь, например, вы можете видеть, что порт 62020 связан процессом Skype4Life.exe. Skype – это приложение для общения между пользователями, поэтому мы можем предположить, что этот порт фактически связан процессом, который регулярно проверяет наличие обновлений для приложения.
Просмотр портов вместе с идентификаторами процессов
Если имя процесса для номера порта, который вы просматриваете, затрудняет определение того, какому приложению он соответствует, вы можете попробовать версию команды, которая показывает идентификаторы процессов (PID), а не имена. Введите следующий текст в командной строке, а затем нажмите Enter :
В столбце справа справа перечислены PID, поэтому просто найдите тот, который связан с портом, который вы пытаетесь устранить.
Затем откройте диспетчер задач, щелкнув правой кнопкой мыши любое открытое пространство на панели задач и выбрав «Диспетчер задач».
Если вы используете Windows 8 или 10, перейдите на вкладку «Подробности» в диспетчере задач. В более старых версиях Windows вы увидите эту информацию на вкладке «Процессы». Отсортируйте список процессов по столбцу «ИД процесса» и найдите PID, связанный с портом, который вы исследуете. Возможно, вы сможете узнать больше о том, какое приложение или служба использует указанный порт, посмотрев столбец «Описание».
Если нет, щелкните процесс правой кнопкой мыши и выберите «Открыть расположение файла». Расположение файла, скорее всего, даст вам подсказку о том, какое приложение задействовано.
Использование NirSoft CurrPorts
Если вы не любите командную строку или предпочли бы использовать простую утилиту, чтобы сделать всё это за один шаг, мы рекомендуем отличный бесплатный CurrPorts. Загрузите инструмент. Только убедитесь, что вы получили правильную версию (обычная версия для 32-разрядной версии Windows, а версия x64 – для 64-разрядной Windows). Это портативное приложение, поэтому вам не нужно его устанавливать. Просто распакуйте папку загрузки и запустите исполняемый файл.
В окне CurrPorts отсортируйте по столбцу «Локальный порт», найдите порт, который вы исследуете, и вы можете увидеть всё: имя процесса, ID, порт, полный путь к процессу и т.д.
Чтобы сделать это ещё проще, дважды щелкните любой процесс, чтобы увидеть каждую деталь в одном окне.
Когда вы определите, какое приложение или служба связаны с порт, – Вы сможете решить, как его использовать. Если это приложение, то можно указать другой номер порта. Если это сервис или у вас нет возможности указать другой номер порта – вероятно, Вам придётся остановить службу или удалить приложение.
Как узнать какой порт использует программа
На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.
Определения порта программы стандартными средствами Windows
Поиск идентификатора процесса PID
1. Открываем командную строку: сочетание клавиш и вводим команду CMD.
2. Запускаем tasklist и находим PID процесса.
Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.
Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.
Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.
Поиск порта процесса
Для получения списка используемых портов воспользуемся утилитой командной строки netstat.
B netstat были использованы слtдующие аргументы:
В результате будет получен довольно крупный список активных сетевых соединений, среди которых необходимо найти соединение с нужным PID.
В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.
Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.
Программы для просмотра сетевых соединений
Этот способ подойдет для тех, кто не хочет погружаться в работу утилит командной строки Windows, а желает быстро и просто получить информацию о портах, которые использует программа, в графическом интерфейсе.
TCPView
CurrPorts
Из плюсов программы следует отметить наличие русского языка. Чтобы русифицировать программу нужно скачать отдельный файл русификации и положить его в папку с программой.
Как определить какой порт занимает программа?
Иногда возникает такая необходимость узнать какой порт какая программа заняла. Например, это может пригодиться в том случае, если при использовании денвера, 80-й порт на котором по умолчанию он и работает, может занять другая программа и вот как раз в этом случае и нужно узнать кто же занял этот «драгоценный» порт. Узнать это можно как с помощью командной строки, так и при помощи сторонней программы про которую я и напишу в статье. Мне с ней удобнее работать, так же программа заменяет стандартный менеджер процессов и у нее есть очень много удобных в работе функций, поэтому она и заслуживает внимания в данной статье.
Итак, приступим. Сначала опишу способ как узнать какой порт занимает программа, при помощи командной строки.
Просмотрев список можно увидеть: TCP 0.0.0.0:80 Vladimir:0 LISTENING [Skype.exe]
Видно, что 80-й порт заняла программа Skype.
Определяется это довольно просто. Рассмотрим все по порядку:
TCP 0.0.0.0:80 Vladimir:0 LISTENING [Skype.exe]
TCP — указывает на то что используется протокол TCP ( может быть использован и UDP)
0.0.0.0:80 — локальный адрес программы, где 0.0.0.0 — это IP-адрес, а 80 порт
LISTENING — означает что порт прослушивается
[Skype.exe] — процесс который прослушивает этот самый порт.
Так же и с остальными процессами, например процесс wmware-hostd.exe прослушивает 443 порт. Ну думаю дальше все понятно. Таким вот способом можно легко узнать какой процесс на каком порте сидит и если это необходимо, то можно закрыть его для освобождения порта например 80 или 443.
А теперь перейдем к одной очень хорошей программе о которой я говорил в самом начале. Называется она Process Hacker. Аналогичен диспетчеру задач, но более функциональный.
Как же узнать какой порт заняла та или иная программа с помощью Process Hacker?
Тут все просто, проще чем с использованием командной строки.
И все, перед Вами откроется список с процессами, напротив каждого из них будет показан какой порт занимает тот или иной процесс. Я считаю это очень удобно. К тому же информация обновляется каждую секунду. Что опять таки я считаю удобным.
Не будет необходимости каждый раз вводить одну и ту же команду и дожидаться когда же командная строка закончит загружать список процессов с используемыми портами. Тут все гораздо проще и удобнее. Сразу же, как только нашли нужный процесс, при необходимости можно завершить его не запуская другой диспетчер задач или другую какую-нибудь программу.
Ну вот и все, получилась чуть ли не статья, а отзыв о программе Process Hacker :-). Но программа действительно хороша.
P. S. Это не реклама программы, а лишь мое мнение о ней.