Jak sprawdzić otwarte porty w systemie Windows Server
Aby sprawdzić otwarte porty na serwerze Windows Server, wyświetl listę lokalnych odbiorników, a następnie przetestuj je z innego komputera, aby sprawdzić, czy klienci mogą się z nimi połączyć. Port nasłuchujący nie jest automatycznie dostępny w sieci: powiązanie usługi, Zapora systemu Windows, zapory sieciowe, routing i NAT mogą wpływać na dostęp. Skanuj tylko systemy, których jesteś właścicielem lub do których oceny masz uprawnienia.
Wyświetlanie listy lokalnych odbiorników TCP za pomocą programu PowerShell
Na serwerze otwórz program PowerShell i uruchom go Get-NetTCPConnectionze Listenstanem. Sortowanie według portu ułatwia przeglądanie listy, a wybrane kolumny pokazują adres, port i identyfikator procesu.
Program PowerShell wyświetla listę punktów końcowych TCP w stanie nasłuchiwania wraz z ich adresami lokalnymi, portami i identyfikatorami procesów.
Każdy wiersz to punkt końcowy TCP w stanie nasłuchiwania. Adres 0.0.0.0lub ::oznacza, że odbiornik jest powiązany ze wszystkimi interfejsami IPv4 lub IPv6. Adres taki jak 127.0.0.1lub ::1jest adresem zwrotnym, więc komputery zdalne nie mogą połączyć się z tym odbiornikiem przez interfejs sieciowy.
Aby sprawdzić jeden port, dodaj jego numer do zapytania:
Użyj zwróconego identyfikatora procesu, aby zidentyfikować właściciela, na przykład za pomocą Get-Process -Id 1234(zastąp 1234PID w wynikach). Firma Microsoft dokumentuje pola „connection-state”, „local-port” i „ownering-process” polecenia cmdlet w dokumentacji Get-NetTCPConnection .
Użyj netstat, aby zobaczyć identyfikatory słuchaczy i procesów
netstatto wbudowana alternatywa działająca z poziomu wiersza poleceń lub programu PowerShell. To polecenie filtruje dane wyjściowe do nasłuchujących portów TCP:
netstat -ano -p tcp | findstr LISTENING
Wyjście netstat paruje każdy nasłuchujący punkt końcowy TCP z identyfikatorem procesu.
Przełączniki oznaczają: -auwzględnianie słuchaczy, -nzachowywanie adresów numerycznych, -ododawanie PID i -p tcpograniczanie widoku do TCP. Dopasuj PID w Menedżerze zadań lub użyj Get-Process -Id 1234. W przypadku punktów końcowych UDP uruchom netstat -ano -p udp; UDP nie ma stanu w stylu TCP . Zobacz dokumentację netstatLISTENING firmy Microsoft .
Sprawdź porty za pomocą Microsoft PortQry
PortQry w wersji 2 to osobne narzędzie firmy Microsoft do sprawdzania portów TCP i UDP. Pobierz je i rozpakuj do folderu, takiego jak C:\Tools\PortQryV2, a następnie otwórz tam program PowerShell. Aby wyświetlić listę aktywnych mapowań na tym komputerze, uruchom:
.\PortQry.exe -local
Tryb lokalny wyświetla listę aktywnych mapowań TCP i UDP oraz może zawierać identyfikatory procesów; służy do inwentaryzacji, a nie do zapewnienia zdalnej dostępności. Aby wysłać zapytanie do innego serwera, należy podać jego nazwę lub adres IP, protokół i port:
W tym przykładzie sprawdzany jest port TCP 443 na innym hoście. Zamiast nazwy hosta należy podać nazwę serwera, którego dane możesz testować.
W przypadku zapytania zdalnego LISTENINGoznacza, że PortQry otrzymało odpowiedź; NOT LISTENINGoznacza, że otrzymało odpowiedź wskazującą na brak nasłuchiwania. oznacza brak odpowiedzi, więc zapora może odrzucać ruch, a proces może lub nie nasłuchiwać. Protokół UDP może być mniej miarodajny, ponieważ usługi mogą ignorować niesformatowane sondy. Zobacz przewodnikFILTERED Microsoftu dotyczący PortQry .
Sprawdź dostępność z innego komputera
Uruchomienie kontroli na serwerze nie może potwierdzić, że klient w innej sieci może się połączyć. Z klienta Windows na ścieżce, którą chcesz zweryfikować, uruchom:
Zastąp nazwę hosta i port swoimi wartościami. TcpTestSucceeded : TruePotwierdza połączenie TCP od tego klienta w danym momencie. FalseZgłasza błąd, ale nie określa, czy przyczyną jest brak odbiornika, zapory sieciowej, routingu, DNS czy filtra upstream. Zobacz dokumentację Test-NetConnection firmy Microsoft .
Aby przeprowadzić skanowanie wizualne, zainstaluj Nmap z oficjalnej strony pobierania ; instalator systemu Windows zawiera Zenmap. Aby sprawdzić wybrane porty, uruchom:
nmap -p 80,443 server01.example.com
W Zenmap wprowadź autoryzowany cel, wybierz profil, uruchom skanowanie i przejrzyj Ports / Hosts. Podstawowe skanowanie celów w Nmap sprawdza 1000 najpopularniejszych portów TCP; użyj, -paby zawęzić zakres. Stany opisują to, co Nmap widzi od danego klienta: openoznacza, że aplikacja akceptuje połączenia, closedoznacza, że żadna aplikacja nie nasłuchuje, a także filteredoznacza, że przeszkoda uniemożliwia Nmap określenie stanu. Zobacz przewodnik po Zenmap .
Zenmap umieszcza w jednym oknie cel, profil skanowania i przykładowe wyniki portu.
Co zrobić z wynikami
Jeśli program PowerShell wyświetla obiekt nasłuchujący, ale test klienta kończy się niepowodzeniem, sprawdź adres powiązany usługi, pasującą regułę przychodzącą i jej profil sieciowy, a także wszelkie zapory sieciowe, grupy zabezpieczeń, routery lub NAT nadrzędne. Reguła zezwalająca nie tworzy obiektu nasłuchującego; usługa musi powiązać się z portem.
W przypadku nieznanego nasłuchiwacza użyj jego identyfikatora PID, aby zidentyfikować aplikację i potwierdzić, czy jest potrzebna, zanim ją zmienisz. Ogranicz lub usuń nieużywane usługi lub reguły przychodzące w ramach standardowego procesu zmian, a następnie przetestuj ponownie z istotnej ścieżki klienta. Jedno skanowanie pokazuje dostępność tylko z tej perspektywy.