TL; DR
Приложение прослушивает TCP-порт 80, но процесс, указанный при запуске netstat
или TcpView
из инструментов SysInternals, - это System
. Я хочу знать, какое приложение действительно прослушивает этот порт.
Я прочитал этот вопрос и попытался запустить netstat, но это не помогло найти реальное приложение, использующее порт 80. PID, который он дал мне, был 4, что соответствует System
. Если я пытаюсь открыть браузер на localhost:80
, он дает мне только простую страницу 404 («Ошибка HTTP 404. Запрашиваемый ресурс не найден.").
Я попытался использовать простой HTTP-запрос через telnet, и я получил следующее:
HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 28 Jul 2016 19:22:42 GMT
Connection: close
Content-Length: 334
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Hostname</h2>
<hr><p>HTTP Error 400. The request hostname is invalid.</p>
</BODY></HTML>
Есть ли другой способ узнать, какое приложение блокирует мой порт 80 через System
процесс? Я использую Windows 7.
Обновить
Вот выдержка из вывода, когда я запускаю netstat -anbo | findstr :80
:
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 3900
TCP 0.0.0.0:8081 0.0.0.0:0 LISTENING 2876
И невозможно запустить наш собственный HTTP-сервер, потому что порт 80 уже используется.
Update2
Мы выяснили, какое приложение использует порт (см. Мой ответ). Тем не менее, мне любопытно посмотреть, есть ли у кого-нибудь набор трюков для ускорения процесса поиска того, какое приложение использует порт в том случае, если оно использует его через системный процесс (а не в случае эмуляции вируса). Системный процесс, как предложил Стивен).