Как BranchCache 80-ый порт держал и не давал запускаться Apache

На локальный PC с ОС MS Windows 7 Ultimate установил web server Apache (httpd), а он не запускается, так как, судя по логам, не может начать слушать 80-й сетевой порт. Значит он кем-то уже слушается. Кто же его занял?

Выполнил в CMS команду netstat для просмотра активных занятых портов:

C:\Windows\system32> netstat -anbo -p tcp

Активные подключения

Имя Локальный адрес Внешний адрес Состояние PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Не удается получить сведения о владельце

Хм… “Не удается получить сведения о владельце”. Было бы легче, если бы я знал что это за программа/процесс занимает этот 80-ый сетевой порт, но зато есть PID.

Посмотрел в Диспетчер задач — 4-й PID это NT Kernel. То есть это не Skype, не TeamViewer и прочие программы. Можно ещё было бы попробовать Process Explorer, чтобы узнать какой сервис держит 80-й сетевой порт, но вполне достаточно netstat и Диспетчер задач.

При обращении на localhost возвращается ошибка 404, то есть кто-то слушает и отвечает сюда. Посмотрел в веб-браузере через “Инструменты разработчика” и Firebug, и увидел такой ответ от сервера:

HTTP/1.1 404 Not Found
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Connection: close
Content-Length: 315

I.e. локально отвечает какой-то сервер “Microsoft-HTTPAPI/2.0”. Что это, как его отключить?

В основном советуют в тех или иных вариациях отключать либо IIS, либо MS SQL Server. Первый у меня удален, второго изначально не было. Как вариант, могут остаться недобитые остатки IIS (WWW Publishing Service), но и этого нет. Хоть я и не ставил MS SQL сервер, но иногда попадаются программы, которые втихую могут его поставить для своих нужд. Поискал службу SSRS (SQL Server Reporting Services) чтобы попробовать его выключить или настроить, если он есть, но его нет. SQL Server’a у меня нет ни в каком виде. Собственно, вопрос: что это такое “Microsoft-HTTPAPI/2.0” и как это удалить/отключить?

Что же делать? Возможный вариант — вирус. В этом случае AVZ в помощь, но это явно не вирус.

Начал поочерёдно отключать запущенные службы, которые как-то работают с сетью и всё прояснилось. Виновник — служба BranchCache. BranchCache это служба, которая кэширует сетевое содержимое, полученное от кэширующих узлов локальной подсети. Системное имя: “PeerDistSvc”. Команда для запуска службы (исполняемый файл): “C:\Windows\System32\svchost.exe -k PeerDist”. Именно BranchCache слушает локальный сетевой 80-ый порт и отдаёт ответы, где указано “Server: Microsoft-HTTPAPI/2.0”. Отключаем в службах BranchCache и больше никто не занимает 80-ый порт, а значит его может начать слушать Apache.

Поделиться!



coded by nessus

10.62MB | MySQL:70 | 0.128sec