Невозможно занять порт 80, так как он уже используется службой Windows

Обновлено: 04.07.2024

Протоколы TCP и UDP работают на основе номеров портов, используемых для установления соединения. Любому приложению или службе, которым необходимо установить соединение TCP/UDP, потребуется порт на его стороне.

Существует два типа портов:

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

Диапазон динамических портов по умолчанию для TCP/IP

В соответствии с рекомендациями Управления по присвоению номеров в Интернете (IANA) корпорация Майкрософт увеличила динамический диапазон клиентских портов для исходящих подключений. Новый начальный порт по умолчанию — 49152, а новый конечный порт — 65535. Это отличие от конфигурации более ранних версий Windows, в которых использовался диапазон портов по умолчанию от 1025 до 5000.

Вы можете просмотреть динамический диапазон портов на компьютере с помощью следующих команд netsh:

  • netsh int ipv4 показать динамический порт TCP
  • netsh int ipv4 показать динамический порт udp
  • netsh int ipv6 показать динамический порт TCP
  • netsh int ipv6 показать динамический порт udp

Диапазон задается отдельно для каждого транспорта (TCP или UDP). Диапазон портов теперь представляет собой диапазон, который имеет начальную и конечную точки. У клиентов Microsoft, которые развертывают серверы под управлением Windows Server, могут возникнуть проблемы, влияющие на связь RPC между серверами, если во внутренней сети используются брандмауэры. В таких случаях рекомендуется перенастроить брандмауэры, чтобы разрешить трафик между серверами в диапазоне динамических портов от 49152 до 65535. Этот диапазон является дополнением к общеизвестным портам, используемым службами и приложениями. Либо диапазон портов, используемых серверами, можно изменить на каждом сервере. Вы настраиваете этот диапазон с помощью команды netsh следующим образом. Приведенная выше команда устанавливает динамический диапазон портов для TCP.

Начальный порт — это число, а общее количество портов — это диапазон. Ниже приведены примеры команд:

  • netsh int ipv4 set dynamicport tcp start=10000 num=1000
  • netsh int ipv4 set dynamicport udp start=10000 num=1000
  • netsh int ipv6 set dynamicport tcp start=10000 num=1000
  • netsh int ipv6 set dynamicport udp start=10000 num=1000

Эти примеры команд задают динамический диапазон портов, начиная с порта 10000 и заканчивая портом 10999 (1000 портов). Минимальный диапазон портов, который можно установить, — 255. Минимальный начальный порт, который можно установить, — 1025. Максимальный конечный порт (на основе настраиваемого диапазона) не может превышать 65535. Чтобы воспроизвести поведение по умолчанию Windows Server 2003, используйте 1025 в качестве начального порта, а затем используйте 3976 в качестве диапазона для TCP и UDP. Это приводит к начальному порту 1025 и конечному порту 5000.

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

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

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

Снимок экрана ошибка для NETLOGON в средстве просмотра событий». /><br /> </p>
<p>Ошибки обновления групповой политики:</p>
<p><img class=

RDP с уязвимого сервера не работает:

Снимок экрана ошибка, когда удаленный рабочий стол не может подключиться». /><br /></p>
<p>Любое другое приложение, работающее на машине, начнет выдавать ошибки</p>
<p>Перезагрузка сервера временно устранит проблему, но вы увидите, что все симптомы вернутся через некоторое время.</p>
<p>Если вы подозреваете, что на машине не хватает портов:</p>
<p>Попробуйте установить исходящее соединение.С сервера/машины получите доступ к удаленному общему ресурсу или попробуйте RDP на другой сервер или telnet на сервер через порт. Если исходящее соединение не удается ни для одного из них, перейдите к следующему шагу.</p>
<p>Откройте средство просмотра событий и в системных журналах найдите события, которые четко указывают на текущее состояние:</p>
<p>Идентификатор события 4227</p>
<p> <img class=

После корректного закрытия или резкого закрытия сеанса через 4 минуты (по умолчанию) порт, используемый процессом или приложением, будет освобожден обратно в доступный пул. В течение этих 4 минут состояние TCP-соединения будет TIME_WAIT. В ситуации, когда вы подозреваете исчерпание портов, приложение или процесс не сможет освободить все использованные порты и останется в состоянии TIME_WAIT.

Вы также можете увидеть соединения в состоянии CLOSE_WAIT в том же выводе; однако состояние CLOSE_WAIT — это состояние, когда на одной стороне однорангового узла TCP больше нет данных для отправки (отправлен FIN), но есть возможность получать данные с другого конца. Это состояние не обязательно указывает на исчерпание портов.

Наличие огромных подключений в состоянии TIME_WAIT не всегда указывает на то, что на сервере в настоящее время нет портов, если не проверены первые два пункта. Наличие большого количества соединений TIME_WAIT указывает на то, что процесс создает много соединений TCP и может в конечном итоге привести к исчерпанию портов.

Netstat был обновлен в Windows 10 с добавлением ключа -Q, чтобы показать порты, которые перешли из ожидания по времени, как в состоянии BOUND. Выпущено обновление для Windows 8.1 и Windows Server 2012 R2, содержащее эту функциональность. Командлет PowerShell Get-NetTCPConnection в Windows 10 также показывает эти связанные порты.

До 10 сентября 2016 г. данные netstat были неточными. Исправления для netstat, перенесенные обратно в 2012 R2, позволили Netstat.exe и Get-NetTcpConnection правильно сообщать об использовании порта TCP или UDP в Windows Server 2012 R2. Дополнительные сведения см. в разделе Windows Server 2012 R2: исправления временных портов.

Откройте командную строку в режиме администратора и выполните приведенную ниже команду

Откройте файл server.etl с помощью сетевого монитора и в разделе фильтра примените фильтр Wscore_MicrosoftWindowsWinsockAFD.AFD_EVENT_BIND.Status.LENTStatus.Code == 0x209. Вы должны увидеть записи, которые говорят STATUS_TOO_MANY_ADDRESSES. Если вы не найдете никаких записей, значит сервер все еще не исчерпал порты. Если вы их найдете, вы можете подтвердить, что на сервере исчерпаны порты.

Устранение неполадок с нехваткой портов

Суть в том, чтобы определить, какой процесс или приложение использует все порты. Ниже приведены некоторые инструменты, которые можно использовать для изоляции одного процесса

Способ 1

Начните с просмотра выходных данных netstat. Если вы используете Windows 10 или Windows Server 2016, вы можете запустить команду netstat -anobq и проверить идентификатор процесса, который имеет максимальное количество записей как BOUND. Кроме того, вы также можете запустить приведенную ниже команду PowerShell, чтобы идентифицировать процесс:

Большинство утечек портов вызвано тем, что процессы пользовательского режима неправильно закрывают порты при обнаружении ошибки. На уровне пользовательского режима порты (фактически сокеты) являются дескрипторами. И TaskManager, и ProcessExplorer могут отображать количество дескрипторов, что позволяет определить, какой процесс использует все порты.

Для Windows 7 и Windows Server 2008 R2 вы можете обновить версию PowerShell, включив указанный выше командлет.

Метод 2

Если метод 1 не помогает определить процесс (до Windows 10 и Windows Server 2012 R2), загляните в Диспетчер задач:

Добавьте столбец под названием «обработчики» в разделе сведений/процессов.

Отсортируйте дескрипторы столбца, чтобы определить процесс с наибольшим количеством дескрипторов. Обычно виновником может быть процесс с дескрипторами больше 3000, за исключением таких процессов, как System, lsass.exe, store.exe, sqlsvr.exe.

Снимок экрана обрабатывает столбец в диспетчере задач Windows». /><br /></p>
<p>Если какой-либо другой процесс имеет более высокий номер, остановите этот процесс, а затем попробуйте войти в систему, используя учетные данные домена, и посмотрите, удастся ли это.</p>
<h3>Способ 3</h3>
<p>Если диспетчер задач не помог вам идентифицировать процесс, используйте Process Explorer для исследования проблемы.</p>
<p>Этапы использования обозревателя процессов:</p>
<p>Скачайте Process Explorer и запустите его с повышенными правами.</p>
<p>Удерживая клавишу Alt, щелкните заголовок столбца, выберите

Выберите Вид \ Показать нижнюю панель.

Выберите Вид \ Вид нижней панели \ Ручки.

Нажмите на столбец Handles для сортировки по этому значению.

Изучите процессы с большим числом дескрипторов, чем у остальных (вероятнее всего, их будет более 10 000, если вы не можете устанавливать исходящие соединения).

Нажмите, чтобы выделить один из процессов с большим количеством дескрипторов.

На нижней панели дескрипторы, перечисленные ниже, являются сокетами. (Технически сокеты — это файловые дескрипторы).

Снимок экрана Обозреватель процессов». /><br /> </p>
<p>Некоторые из них являются нормальными, но многие из них не являются таковыми (от сотен до тысяч). Закройте рассматриваемый процесс. Если это восстановит исходящее соединение, то вы еще раз докажете, что причиной является приложение. Свяжитесь с поставщиком этого приложения.</p>
<p>Наконец, если вышеуказанные методы не помогли вам изолировать процесс, мы предлагаем вам собрать полный дамп памяти машины в проблемном состоянии. Дамп покажет вам, какой процесс имеет максимальное количество дескрипторов.</p>
<p>В качестве обходного пути можно перезагрузить компьютер, чтобы вернуть его в нормальное состояние и помочь решить проблему на данный момент. Однако, когда перезагрузка нецелесообразна, вы также можете рассмотреть возможность увеличения количества портов на машине с помощью следующих команд:</p>
<p>При этом динамический диапазон портов будет начинаться с порта 10000 и заканчиваться портом 10999 (1000 портов). Минимальный диапазон портов, который можно установить, – 255. Минимальный начальный порт – 1025. Максимальный конечный порт (в зависимости от настраиваемого диапазона) не может превышать 65 535.</p>
<p>Обратите внимание, что увеличение динамического диапазона портов не является постоянным решением, а только временным. Вам нужно будет отследить, какой процесс/процессоры потребляют максимальное количество портов, и с точки зрения этого процесса устранить неполадки, связанные с тем, почему он потребляет такое большое количество портов.</p>
<p>Для Windows 7 и Windows Server 2008 R2 можно использовать приведенный ниже сценарий для сбора выходных данных netstat с определенной периодичностью. Из выходных данных вы можете увидеть тенденцию использования порта.</p>
<p>На днях я решил установить EasyPHP (пакет WAMP, включающий PHP, Apache, MySQL) на свою машину под управлением Windows 7. После установки я запустил приложение, но, к моему удивлению, сервер Apache не работал. Он жаловался, что порт 80 используется другим приложением. Я думал, что эта проблема будет легко решена, но мне потребовалось некоторое время, чтобы выяснить, что именно вызывает проблему. В этой статье я покажу вам, что я пробовал и как я, наконец, решил проблему невозможности запуска Apache.</p>
<p>Сообщение об ошибке, которое выдал EasyPHP, было следующим:</p>
<p>Порт Apache (80) уже используется другим приложением! Закройте это приложение и попробуйте снова запустить сервер. Чтобы закрыть это приложение: откройте /binaries/tools/cports/cports.exe, найдите строку с уже используемым портом в столбце «Локальный порт», щелкните правой кнопкой мыши и выберите «Убить процессы выбранных портов».</p>
<p>Я попытался запустить сервер вручную, но это выдало следующую ошибку:</p>
<p>Была предпринята попытка доступа к сокету способом, запрещенным его правами доступа. <br />make_sock: не удалось выполнить привязку к адресу 127.0.0.1:80 <br />нет доступных прослушивающих сокетов, завершение работы</p>
<p>Конечно, я мог бы просто изменить порт, но мне очень хотелось выяснить, в чем причина этой проблемы.</p>
<p>В сообщении об ошибке EasyPHP предлагалось найти cports.exe, чтобы найти виновника, но я решил сначала проверить программы и компоненты на панели управления, чтобы выяснить, могу ли я понять, почему сервер Apache не может прослушивать порт 80 по умолчанию.</ р>
<p>Оглавление</p>
<h2>Использование программ и компонентов для поиска приложения, вызывающего проблему</h2>
<p>Просмотрев список установленных программ, я быстро нашел одно такое приложение, которое могло вызывать эту проблему. Это был IIS Express 8, который был установлен давно, и я совершенно забыл о нем. Так что решение казалось простым. Удалите IIS Express 8, и проблема исчезнет, ​​но, к моему удивлению, это все еще не решило проблему. Запустить Apache снова не удалось с тем же портом 80, проблема занята. Поэтому я решил воспользоваться советом из сообщения об ошибке EasyPHP по поводу использования cports.exe.</p>
<h2>Запуск CurrPorts (cports.exe), как предлагалось в сообщении об ошибке</h2>
<p>CurrPorts – это небольшая утилита, которая выводит список всех открытых на данный момент портов TCP/IP и UDP, а также процессов, открывших эти порты. Если у вас также установлен EasyPHP, у вас уже должна быть установлена ​​эта утилита. На моей машине с 64-разрядной версией Windows 7 я нашел файл cports.exe по адресу:</p>
<p>C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\binaries\tools\cports\</p>
<p>Когда я запустил cports.exe, я получил список процессов, прослушивающих разные порты, и один из них прослушивал порт 80, но, к сожалению, для меня не было полезной информации о том, какой процесс это делает, как показано ниже:</ р>
<p><img class=

Нажмите на изображение, чтобы увеличить

Для имени процесса отображалась система, а для идентификатора процесса — 4. Даже параметр «Убить процессы выбранных портов» был недоступен.

Поскольку currPorts не давал мне необходимой информации, я решил попытать счастья с командами в командной строке.

Использование команды netstat из командной строки

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

Глядя на доступные параметры, стоит попробовать использовать перечисленные ниже

  • -a : отображает все подключения и прослушиваемые порты.
  • -n : отображает адреса и номера портов в числовой форме.
  • -o : отображает идентификатор процесса-владельца, связанный с каждым подключением.
  • -b : отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. (Требуется разрешение администратора)

Из-за параметра –b мне пришлось запускать cmd от имени администратора, как показано ниже:

 Запуск cmd.exe с правами администратора

netstat –anob | больше

О команде Pipe (|) и more: Pipe перенаправляет вывод netstat следующей команде (в нашем случае more ), которая представляет собой пейджер, отображающий контент на одном экране за раз. Нажмите пробел, чтобы перейти к следующей странице.

Поиск :80 в столбце "Локальный адрес". У меня было следующее:

Локальный адрес: 0.0.0.0:80
Зарубежный адрес: 0.0.0.0
Состояние: Прослушивание
PID: 4

Использование команды netstat для отображения PID 4 с портом 80

и под всем этим было сообщение «Не удается получить информацию о праве собственности».

PID означает идентификатор процесса, а PID 4 – системный процесс, из которого исходит большинство системных процессов. Я пытался использовать утилиту Process Hacker для поиска любой информации, которая указывала бы мне на причину этой проблемы, но я ничего не нашел.

Поэтому я решил попробовать другую команду net stop, о которой пойдет речь далее.

Использование команды net stop из командной строки

Использование команды net stop http для получения списка служб, зависящих от службы http.

Отдельно останавливая каждую службу в сгенерированном списке (используя services.msc), я хотел выяснить, несет ли какая-либо из этих служб ответственность за отнятие порта 80. Когда конкретная служба была остановлена ​​и не повлияла на Apache, Я выбрал следующую услугу в списке.

Краткое руководство по остановке и отключению службы

  1. Откройте меню «Пуск», найдите services.msc в поле поиска и запустите его. Появится новое окно со списком всех служб.
  2. Чтобы остановить службу, найдите нужную, щелкните ее правой кнопкой мыши и выберите "Остановить". Чтобы убедиться, что служба останавливается даже после перезагрузки компьютера, отключите службу целиком.
  3. Чтобы отключить службу, щелкните ее правой кнопкой мыши, выберите "Свойства" и на вкладке "Общие" для параметра "Тип запуска" выберите "Отключено" в раскрывающемся меню и нажмите "ОК". Прежде чем отключать службу, вы можете сначала узнать, какую роль играет служба, просто чтобы убедиться, что она вам действительно не нужна.

Использование утилиты HttpSysManager

Два из них были для отчетов SQL. Я быстро просмотрел список служб и нашел службы отчетов SQL Server (SSRS). После того, как я остановил его, Apache смог работать без ошибок.

Заключение

Если Apache не запускается на порту 80, мы можем либо настроить его на прослушивание другого порта, либо попытаться найти приложение или службу и остановить их, если они не нужны. С помощью команд CMD и различных утилит это может быть простой задачей, но если процесс, прослушивающий порт 80, является системным процессом с PID 4, то это потребует немного больше усилий.

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

Я установил XAMPP 1.6.8, и по какой-то причине это не сработало. Позже понял, что порт 80 не свободен или не прослушивается. Как я могу выпустить его или сделать бесплатным?

18 ответов 18

Меня спросили: "Следующие службы будут остановлены. Продолжить?" Нажата д

Это фактически остановило ряд служб.

Затем написал localhost и wallah, Apache запущен и работает на порту 80.
Надеюсь, это поможет

Важно: Skype использует порт 80 по умолчанию, вы можете изменить это в параметрах Skype > дополнительно > подключение и снять флажок "использовать порт 80"

В Windows 7 я не мог остановить процессы из-за "отказано в доступе", но он показывал мне имена процессов, которые были бы убиты, если бы у меня были права (у меня не было прав на netstat -a - б).

@ПавелВ. вы должны запустить командную строку с правами администратора. откройте пуск и напишите в поиске "cmd" щелкните правой кнопкой мыши на cmd и выберите "Запуск от имени администратора".

Это покажет вам PID процесса, который прослушивает порт 80. После этого откройте диспетчер задач -> вкладка «Процессы». В меню View -> Select Columns включите столбец PID, и вы увидите имя процесса, прослушивающего порт 80.

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

Можете ли вы попробовать использовать /f /t в конце, это принудительно убьет задачу, в настоящее время я нахожусь в системе Linux, не проверено

У меня была эта проблема раньше,

если вы видите диспетчер задач (после включения представления для PID), вы обнаружите, что PID=4 — это «порт 80, используемый ядром и системой NT;»

  1. Панель управления
  2. Программы
  3. Включение и отключение функций Windows
  4. проверьте, отмечены ли службы World Wide Web в IIS

Если это так, снимите флажок и снова проверьте netstat(или TCPVIEW), чтобы узнать, свободен ли номер 80.

Это сработало для меня. Я пытался использовать nginx в Windows, и он не привязывался, давая nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: была предпринята попытка доступа к сокету способом, запрещенным его разрешениями на доступ ) ошибка. В Интернете упоминается множество исправлений, но это было самым простым. Мне потребовалась перезагрузка.

Должно быть указано, какая программа привязана к порту 80

Ты БОГ! Поклонившись, благодаря этому я смог найти фактическое имя службы, у которого был тот же идентификатор процесса, что и у других, поэтому я не мог понять, прежде чем фактическую службу убить из диспетчера задач. Спасибо!

используйте netstat -bano в командной строке с повышенными привилегиями, чтобы узнать, какие приложения прослушивают какие порты.

Обычно следующие приложения используют порт 80 в Windows.

  1. ИИС
  2. Служба публикации в Интернете
  3. Служба администратора IIS
  4. Службы отчетов SQL Server
  5. Служба агента веб-развертывания

Остановите вышеуказанные приложения, если они запущены, и проверьте.

Используйте TcpView, чтобы найти процесс, который прослушивает порт, и закройте этот процесс.

Еще один вариант — остановить службы отчетов SQL Server.

спасибо, для меня это были службы отчетов SQL Server (MSSQLSERVER), не знаю почему, но когда я завершаю их с помощью консоли служб, процесс с pid 4 не привязан к 0.0.0.0:80

которые показывают порты и процессы

Статус моего приложения xampp показывает состояние 1 apache и mysql start 1 service 1 Но браузер по-прежнему не отображает локальный хост. почему так? любые указатели? :(

Введите «netstat -ano» в командной строке. Я видел, что он показывает что-то для порта локального адреса 0.0.0.0:80.

Вот изображение моей командной строки ПОСЛЕ того, как я изменил номер порта для служб отчетов SQL Server:

введите здесь описание изображения

Если у вас все еще есть такая же проблема, прочитайте этот форум:

Переход к http://localhost/ покажет что-то, по крайней мере, правильное сообщение "не найдено"
Это связано с тем, что 80 – это порт по умолчанию, и он был занят другими процессами.

Теперь запустите следующую команду:

Основным процессом был BranchCache.
Этот процесс после остановки перезапустится через несколько секунд.
Поэтому нам нужно запустить другие команды, которые нам понадобятся в ближайшее время, пример ниже:

Надеюсь, это поможет.

Если вы используете IIS, у вас может быть запущена служба веб-фермы. Это то, что убивало мой xampp.

Нет, у меня нет IIS. Раньше я использовал xampp, и это сработало. Я предполагаю, что какая-то другая служба сидит на порту 80 и не позволяет переустановить на нем службу Apache.

Skype любит использовать порт 80 и блокирует IIS. Это была моя проблема.

Известные службы Windows, прослушивающие порт 80

В диспетчере служб (запустите: services.msc) остановите и отключите эти службы Windows, которые, как известно, привязаны к порту 80.

Дважды щелкните Служба и измените «Тип запуска» на «Отключено»…

  1. Службы отчетов SQL Server (ReportServer)
  2. Служба агента веб-развертывания (MsDepSvc)
  3. Кэш веток (PeerDistSvc)
  4. Служба синхронизации общего доступа (SyncShareSvc)
  5. Служба публикации в Интернете (W3SVC)
  6. Интернет-информационный сервер (WAS, IISADMIN)

скайп также использует порт 80 по умолчанию, и вы можете снять этот флажок.

У вас могут быть установлены и запущены некоторые из этих Служб, а могут и не быть.

Сервер приложений Alpha Anywhere не может запуститься, если порт сервера сервера используется другим процессом.

Невозможно запустить сервер. Порт 80 уже используется. Убедитесь, что никакое другое серверное программное обеспечение не настроено на использование этого порта, и повторите попытку». /><br /></p>
<p>Сетевые службы используют TCP-порты для

Изменение порта сервера приложений

Если вы используете сервер разработки приложений, изменение порта, используемого сервером, является самым простым решением. Измените порт сервера в Панели управления сервера приложений и запустите сервер. Укажите порт, отличный от 80, например 8080.

Когда вы публикуете свое приложение, вы должны указать выбранный порт сервера как часть URL-адреса, к которому они обращаются. Например, localhost:8080/myApplication/index.a5w

Как определить процесс, использующий порт

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

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

Для этого руководства требуются Диспетчер задач Windows и netstat, оба из которых доступны в Windows XP, Windows 2003 и более новых версиях Windows. Если вам нужно определить порт, используемый в более старых, неподдерживаемых версиях Windows, сторонние инструменты доступны в Интернете. Следуйте инструкциям стороннего инструмента, который вы используете, чтобы определить, какой процесс использует порт 80.

В командной строке Windows введите команду netstat -o. Это выведет список портов вместе с PID (идентификатором процесса), у которого этот порт открыт. netstat должен выдать результат, аналогичный приведенному ниже примеру:

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

Откройте диспетчер задач Windows. Это можно сделать в командной строке Windows. Запустите taskmgr в командной строке.

Откройте вкладку "Процессы".

images/portIsInUse_taskmgr1.jpg

Добавьте PID (идентификатор процесса) в столбцы, отображаемые для процессов. В зависимости от используемой версии диспетчера задач Windows столбец PID можно добавить, выбрав «Выбрать столбцы» в меню «Вид».

Если в меню "Вид" нет пункта "Выбрать столбцы", щелкните правой кнопкой мыши строку заголовка на вкладке "Процесс" (как показано ниже) и выберите в списке параметров PID.

images/portIsInUse_taskmgr2.jpg

Отсортируйте запущенные процессы, щелкнув заголовок PID. Найдите PID, который соответствует PID, используя порт 80, указанный netstat. Процесс в столбце Имя — это приложение, использующее порт.

images/PID.jpg

На этом снимке экрана показано, что идентификатор процесса 2636 — это alpha5.exe, что указывает на то, что порт 80 используется сервером приложений

Приложения, которые обычно используют порт 80

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

Этот список не является исчерпывающим, но в нем перечислены приложения, которые часто используют порт 80. Если в вашей системе установлен Skype, он может попытаться использовать порты 80 и 443 для входящих подключений.

Читайте также: