Jak sprawdzić, która aplikacja używa portu 80 za pośrednictwem procesu systemowego

1

TL; DR

Aplikacja nasłuchuje na porcie TCP 80, ale proces wymieniony podczas uruchamiania netstatlub TcpViewz 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 Systemprocesie? 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).

Laf
źródło
Co sprawia, że ​​myślisz, że masz coś nasłuchującego na porcie 80?
DavidPostill
@DavidPostill zobacz moją aktualizację.
Laf
Upuść findstr. Nazwa procesu jest wymieniona w innej linii (poprzedniej linii)
DavidPostill
Identyfikator procesu to 4, co odpowiada System. Jeśli spróbuję porzucić findstrpołączenie, nazwa procesu to Can not obtain ownership information.
Laf
1
Czy netsh http show servicestatepokazuje coś interesującego?
DavidPostill

Odpowiedzi:

4

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

Steven
źródło
Znów mówi tylko, że Systemproces (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ć.
Laf
Właśnie dlatego chcesz korzystać z narzędzia do monitorowania. W ten sposób możesz się upewnić, że System naprawdę znajduje się w C: \ Windows \ System32 i jest oryginalnym procesem systemu Windows. W takim przypadku prześlij go na virustotal.com i sprawdź, czy został zmodyfikowany.
Steven
Och, teraz rozumiem co miałeś na myśli! W końcu dowiedzieliśmy się, co to jest (jakaś usługa udostępniania plików firmy Microsoft, która została zainstalowana i nieprawidłowo potwierdzona przez dział IT), zatrzymując wszystkie usługi jedna po drugiej. Wyślę odpowiedź, gdy otrzymam nazwę usługi, ale myślę, że twoja odpowiedź jest całkiem dobra.
Laf,
1

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.

Laf
źródło
1
Panie, sprawiłeś, że mój dzień. Najnowsza aktualizacja systemu Windows włączyła tę funkcję i złamała mój Apache przez cały ranek.
Kapitan Hypertext
1

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.

użytkownik734094
źródło