TL; DR
Aplikacja nasłuchuje na porcie TCP 80, ale proces wymieniony podczas uruchamiania netstat
lub TcpView
z narzędzi SysInternals to System
. Chcę wiedzieć, która aplikacja naprawdę nasłuchuje na tym porcie.
Przeczytałem to pytanie i próbowałem uruchomić netstat, ale nie pomogło to w znalezieniu faktycznej aplikacji korzystającej z portu 80. PID, który mi podał, to 4, co odpowiada System
. Gdy spróbuję otworzyć przeglądarkę localhost:80
, wyświetla mi tylko podstawową stronę 404 („Błąd HTTP 404. Nie można znaleźć żądanego zasobu.”).
Próbowałem użyć prostego żądania HTTP przez telnet i otrzymałem następujące informacje:
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>
Czy istnieje inny sposób, aby dowiedzieć się, która aplikacja blokuje mój port 80 w tym System
procesie? Korzystam z systemu Windows 7.
Aktualizacja
Oto fragment danych wyjściowych po uruchomieniu 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
Nie można uruchomić własnego serwera HTTP, ponieważ port 80 jest już w użyciu.
Aktualizacja 2
Dowiedzieliśmy się, która aplikacja korzystała z portu mimo wszystko (zobacz moją odpowiedź). Jestem jednak ciekawy, czy ktoś ma kolekcję sztuczek, aby przyspieszyć proces znajdowania aplikacji używającej portu w przypadku, gdy używa go za pośrednictwem procesu systemowego (a nie w przypadku emulacji wirusa proces systemowy, jak sugeruje Steven).
findstr
. Nazwa procesu jest wymieniona w innej linii (poprzedniej linii)System
. Jeśli spróbuję porzucićfindstr
połączenie, nazwa procesu toCan not obtain ownership information
.netsh http show servicestate
pokazuje coś interesującego?Odpowiedzi:
Jeśli pobierzesz Sysinternals Suite z Microsoft i rozpakujesz go gdzieś, uruchom narzędzie TCPCon.exe (lub TCPMon) To będą wszystkie usługi i procesy, w tym PID i mnóstwo innych informacji. Jeśli usługa nie jest zrozumiała, prześlij ją na virustotal.com
źródło
System
proces (PID 4) używa portu 80. Czy jest jakiś sposób, aby dowiedzieć się, która aplikacja naprawdę używa portu 80? Zakładałbym, że jakaś aplikacja nasłuchuje na tym porcie, ponieważ zanim ponownie uruchomiłem komputer, byłem w stanie uruchomić serwer WWW na porcie 80, a teraz po ponownym uruchomieniu komputera nie mogę już. Serwis IT najprawdopodobniej coś zainstalował i chcemy dokładnie wiedzieć.W końcu znaleźliśmy winowajcę. W naszym przypadku była to usługa BranchCache . Z tego, czego się dowiedzieliśmy, ta usługa domyślnie używa portu TCP 80, a nasza usługa IT nie zmieniła domyślnej konfiguracji. Zatrzymanie tej usługi uwolniło port 80.
Musieliśmy ręcznie zatrzymać wszystkie usługi na naszym komputerze, dopóki nie znaleźliśmy usługi, która faktycznie korzystała z portu 80. Może to jednak prowadzić do dziwnych zachowań, więc nie jestem do końca pewien, czy to najlepszy sposób na uzyskanie informacji.
źródło
Miałem ten sam problem i stwierdziłem, że na moim systemie Windows 10 działa serwer sieci Web IIS. Wiedziałem, że to był podejrzany, ale z trudem go znalazłem. To było w Narzędzia administracyjne> Usługi> Usługa publikowania w sieci WWW.
źródło