2

Как узнать, кто слушает порт 80 в Windows?

Не предлагайте использовать

netstat -aon | findstr :80

потому что он сообщает PID NT Kernel & System которая является бесполезной информацией.

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

2 ответа2

5

Хорошо, давайте сделаем это ответом.

То, что вы видите, скорее всего, является результатом программы, использующей http.sys - механизм ядра Windows, используемый в Windows Server 2003 (и XP?). Это позволяет разработчикам обойти ограничение, заключающееся в том, что прослушивающий порт может обслуживаться только одной программой за раз. С http.sys программа регистрирует пространство имен, например, http://192.168.1.2:80/helloworld . Теперь программа получает все запросы, начиная с зарегистрированного пространства имен. В то же время другую программу можно прослушать по адресу http://192.168.1.200:80/helloworld .

Другим побочным эффектом является то, что даже «не-root» программы могут прослушивать порт 80, при условии, что разовая настройка была завершена.

Естественно, Microsoft не разработала это, потому что это все веселье и игры. Информационные службы Интернета (IIS) использует http.sys для прослушивания. Так что это вероятный кандидат в вашем случае.

Если ни одна из программ не зарегистрировала пространства имен, http.sys прекращает прослушивание.

netsh http show servicestate должен иметь возможность перечислять все активные пространства имен.

2

Вы можете попробовать TcpView, но если он на самом деле находится в ядре (например, в сокете, открытом драйвером), то на самом деле нет способа узнать, что именно контролирует сокет. Это даже если вы используете что-то вроде ProcMon для отслеживания загрузки и получения точного момента привязки сокета к tcp/80. Вам нужен вариант ProcMon, который бы также отслеживал трассировку стека для каждого события, и я не видел подобного инструмента.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .