Sprawdzanie otwartych portów w systemie Windows to coś, co powinien umieć zrobić każdy użytkownik świadomy sieci. Otwarty port oznacza, że Twój komputer aktywnie nasłuchuje połączeń na tym numerze portu, a wiedza o tym, które porty są otwarte, pomaga Ci złapać luki w bezpieczeństwie, rozwiązywać problemy z połączeniami i sprawdzić, czy Twoje aplikacje działają prawidłowo. Windows oferuje kilka wbudowanych sposobów, aby to zrobić, a ponadto istnieją zewnętrzne narzędzia, które mogą przetestować, jak Twoje porty wyglądają z zewnątrz.
Spis treści
- Co to są otwarte porty i dlaczego mają znaczenie
- Korzystanie z polecenia Netstat, aby zobaczyć otwarte porty
- Sprawdzanie portów za pomocą PowerShell
- Sprawdzanie ustawień Zapory systemu Windows dla reguł portów
- Korzystanie ze skanera portów w systemie Windows
- Testowanie swoich otwartych portów z zewnątrz
- Szybki przewodnik po powszechnych portach
- Zamykanie portów, których nie potrzebujesz
Co to są otwarte porty i dlaczego mają znaczenie
Każda usługa sieciowa na Twoim komputerze wiąże się z numerem portu od 1 do 65535. Gdy usługa jest uruchomiona i czeka na przychodzące połączenia, port jest "otwarty". Gdy nic tam nie nasłuchuje, port jest "zamknięty" i próby nawiązania połączenia są odrzucane lub ignorowane.
Oto dlaczego to ma znaczenie w praktyce:
- Audyt bezpieczeństwa: Nieoczekiwany otwarty port może oznaczać złośliwy proces, malware lub błędnie skonfigurowaną usługę, która eksponuje Twoją maszynę.
- Rozwiązywanie problemów: Jeśli Twój serwer www, serwer gier lub pulpit zdalny jest niedostępny, pierwsze pytanie to czy port jest faktycznie otwarty.
- Weryfikacja zapory: Twoja Zapora systemu Windows może blokować port, nawet jeśli usługa jest uruchomiona, lub zezwalać na port, który myślałeś, że jest zamknięty.
Korzystanie z polecenia Netstat, aby zobaczyć otwarte porty
Polecenie
netstat
to najszybszy wbudowany sposób na wylistowanie każdego portu, na którym Twoja maszyna Windows aktualnie nasłuchuje. Otwórz Wiersz polecenia (wyszukaj "cmd" w menu Start, kliknij prawym przyciskiem myszy i wybierz "Uruchom jako administrator") i uruchom:
netstat -ano
Flagi działają w następujący sposób:
-
-apokazuje wszystkie aktywne połączenia i nasłuchujące porty. -
-nwyświetla adresy i numery portów numerycznie zamiast rozpoznawać nazwy hostów (znacznie szybciej). -
-ododaje identyfikator procesu (PID), dzięki czemu możesz zidentyfikować, który program jest właścicielem każdego portu.
Kolumny wyjścia to: Proto , Local Address , Foreign Address , State i PID . Poszukaj wierszy, w których kolumna State mówi LISTENING . To są Twoje otwarte porty.
Aby zawęzić do tylko nasłuchujących portów:
netstat -ano | findstr LISTENING
Gdy masz PID, który chcesz zbadać, znajdź nazwę procesu za pomocą:
tasklist /fi "PID eq 1234"
Zastąp
1234
rzeczywistym PID z wyjścia netstat. To mówi Ci dokładnie, który plik wykonywalny nasłuchuje na tym porcie.
Aby sprawdzić, czy konkretny port jest w użyciu, połącz netstat z findstr:
netstat -ano | findstr :443
Sprawdzanie portów za pomocą PowerShell
PowerShell oferuje czystszą, bardziej skryptowalną alternatywę dla netstat. Otwórz PowerShell jako administrator i uruchom:
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess | Sort-Object LocalPort
To zwraca posortowaną listę każdego portu TCP w stanie LISTEN, w tym adres lokalny i PID. Aby rozwiązać PID na nazwę procesu w tym samym poleceniu:
Get-NetTCPConnection -State Listen |
Select-Object LocalPort,
@{Name="Process";Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}} |
Sort-Object LocalPort
Możesz również przetestować, czy zdalny host ma otwarty konkretny port bezpośrednio z PowerShell za pomocą
Test-NetConnection
:
Test-NetConnection -ComputerName example.com -Port 443
Jeśli
TcpTestSucceeded : True
pojawia się w wyjściu, port jest otwarty i akceptuje połączenia z Twojej maszyny. To jest przydatne do weryfikacji łączności wychodzących z Twojego komputera z systemem Windows do serwera, a nie tylko sprawdzania, co jest otwarte lokalnie.
Sprawdzanie ustawień Zapory systemu Windows dla reguł portów
Zapora systemu Windows kontroluje, które porty są dozwolone wchodzące i wychodzące. Usługa może nasłuchiwać na porcie lokalnie, ale jeśli zapora blokuje ruch przychodzący na tym porcie, klienci zewnętrzni nie mogą go osiągnąć. Oto jak przejrzeć swoje reguły zapory.
Korzystanie z Zapory systemu Windows Defender z zaawansowanym bezpieczeństwem
-
Naciśnij
Win + R
, wpisz
wf.msci naciśnij Enter. - Kliknij Reguły ruchu przychodzącego w lewym panelu, aby zobaczyć reguły kontrolujące ruch przychodzący do Twojej maszyny.
- Kliknij Reguły ruchu wychodzącego , aby zobaczyć ruch opuszczający Twoją maszynę.
- Sortuj według Włączone , aby szybko zobaczyć, które reguły są aktywne.
- Każda reguła pokazuje protokół (TCP/UDP), port lokalny, port zdalny i akcję (Zezwól/Blokuj).
Korzystanie z wiersza polecenia
Aby wylistować wszystkie aktywne reguły zapory z wiersza polecenia:
netsh advfirewall firewall show rule name=all
Aby sprawdzić, czy konkretny port jest dozwolony przez zaporę:
netsh advfirewall firewall show rule name=all | findstr "LocalPort"
Oficjalna dokumentacja firmy Microsoft dotycząca konfigurowania Zapory systemu Windows zawiera szczegóły dotyczące tworzenia i zarządzania regułami, jeśli musisz dodać lub zmodyfikować reguły.
Korzystanie ze skanera portów w systemie Windows
Wbudowane narzędzia są świetne do sprawdzania własnej maszyny, ale czasami musisz skanować innego hosta w Twojej sieci lub chcesz wizualny przegląd zamiast surowego wyjścia wiersza polecenia. Dedykowany skaner portów wypełnia tę lukę.
Nmap jest standardem branżowym do skanowania portów. Jest bezpłatny, otwarty, i dostępny dla systemu Windows z oficjalnej strony pobierania Nmap . Instalator systemu Windows zawiera Zenmap, graficzny interfejs. Podstawowe skanowanie hosta wygląda tak:
nmap -sV 192.168.1.1
Flaga
-sV
próbuje wykryć wersję usługi uruchomionej na każdym otwartym porcie. Jest to przydatne do audytów bezpieczeństwa sieci w systemie Windows, ponieważ możesz zobaczyć nie tylko które porty są otwarte, ale jakie oprogramowanie się za nimi kryje.
Testowanie swoich otwartych portów z zewnątrz
Oto krytyczne rozróżnienie, które większość przewodników pomija: port może nasłuchiwać lokalnie na Twojej maszynie Windows, ale nadal wydawać się zamknięty dla świata zewnętrznego. Dzieje się to, gdy Twój router nie przekierował tego portu lub gdy Twój dostawca internetu go blokuje. Aby wiedzieć, co faktycznie widzi internet, musisz przetestować z zewnętrznego punktu widzenia.
To jest dokładnie to, co robi online'owy sprawdzacz portów. Inicjuje połączenie TCP do Twojego adresu IP z serwera zdalnego i raportuje, czy połączenie zostało zaakceptowane (Otwarte), odrzucone (Zamknięte) lub wygasło (Timeout). Nie jest wymagana instalacja oprogramowania i całkowicie pomija Twoją lokalną zaporę, aby pokazać rzeczywisty widok z zewnątrz.
Sprawdź dokładnie, które porty są otwarte na Twojej maszynie z systemem Windows
Nasz bezpłatny online'owy sprawdzacz portów testuje połączenia TCP do dowolnego adresu IP lub domeny z serwera zdalnego, dzięki czemu uzyskujesz prawdziwy widok z zewnątrz podczas sprawdzania otwartych portów w systemie Windows. Sprawdź jeden port lub masowo sprawdź do 10 na raz, z wynikami w milisekundach.
Sprawdź swoje otwarte porty →
Szybki przewodnik po powszechnych portach
Wiedza o tym, które usługi używają których portów, oszczędza czas podczas rozwiązywania problemów. Oto porty, które najczęściej napotkasz w systemie Windows:
| Port | Protokół | Usługa | Powszechne użycie w systemie Windows |
|---|---|---|---|
| 80 | TCP | HTTP | Serwery www (IIS, Apache), lokalne serwery deweloperskie |
| 443 | TCP | HTTPS | Bezpieczne serwery www, Windows Update |
| 3389 | TCP | RDP | Remote Desktop Protocol, administracja zdalna |
| 445 | TCP | SMB | Udostępnianie plików, udziały sieciowe Windows |
| 22 | TCP | SSH | OpenSSH (wbudowany w Windows 10/11) |
| 21 | TCP | FTP | Transfer plików, usługa FTP IIS |
| 25 | TCP | SMTP | Wysyłanie poczty, przekaźnik serwera pocztowego |
| 3306 | TCP | MySQL | Połączenia bazy danych MySQL/MariaDB |
| 5432 | TCP | PostgreSQL | Połączenia bazy danych PostgreSQL |
| 135 | TCP | RPC | Windows Remote Procedure Call, DCOM |
Zamykanie portów, których nie potrzebujesz
Dobre monitorowanie portów Windows to nie tylko znalezienie tego, co jest otwarte. Chodzi o podjęcie decyzji, co powinno być otwarte i zamknięcie wszystkiego innego. Oto praktyczne podejście:
- Uruchom netstat -ano i wylistuj wszystkie porty LISTENING. Zmapuj każdy PID na nazwę procesu za pomocą polecenia tasklist pokazanego wcześniej.
-
Zidentyfikuj usługi, których nie potrzebujesz.
Na przykład, jeśli nie używasz IIS, nie ma powodu, aby porty 80 lub 443 były otwarte lokalnie. Zatrzymaj usługę za pośrednictwem
services.msc. -
Przejrzyj reguły ruchu przychodzącego Zapory systemu Windows.
Otwórz
wf.msci wyłącz wszelkie reguły, które zezwalają na ruch do portów, które zidentyfikowałeś jako niepotrzebne. - Sprawdź swój router. Reguły przekierowania portów na Twoim routerze mogą eksponować porty nawet jeśli Zapora systemu Windows je blokuje na poziomie systemu operacyjnego. Zaloguj się do panelu administracyjnego routera i przeanalizuj przekierowane porty.
- Przetestuj ponownie z zewnątrz. Po dokonaniu zmian uruchom ponownie zewnętrzne sprawdzenie portów, aby potwierdzić, że porty nie są już dostępne.
Doradztwo cyberbezpieczeństwa CISA regularnie publikują alerty dotyczące konkretnych portów eksploatowanych na żywo. Okresowe sprawdzanie tej listy to dobry nawyk, jeśli zarządzasz serwerami Windows.
Port otwarty lokalnie oznacza, że usługa na Twojej maszynie Windows aktywnie nasłuchuje połączeń na tym numerze portu. Port otwarty z zewnątrz oznacza, że komputery spoza Internetu mogą go faktycznie osiągnąć. Twój router, dostawca internetu lub Zapora systemu Windows mogą blokować dostęp z zewnątrz, nawet gdy port nasłuchuje lokalnie. Zawsze testuj z zewnętrznego narzędzia, aby potwierdzić rzeczywisty status.
Jest to prawie zawsze spowodowane jedną z trzech rzeczy: Zapora systemu Windows ma regułę ruchu przychodzącego blokującą port, Twój router nie ma reguły przekierowania portów dla tego portu, lub Twój dostawca internetu blokuje port na poziomie sieci. Sprawdź każdą warstwę po kolei. Powszechnie blokowane przez dostawcę internetu porty to 25 (SMTP), 80 i 443 na połączeniach mieszkaniowych.
Eksponowanie RDP bezpośrednio do Internetu to znaczące zagrożenie bezpieczeństwa. Zautomatyzowane boty stale skanują port 3389 i próbują ataków brute-force. Jeśli potrzebujesz dostępu zdalnego, najpierw użyj VPN, aby osiągnąć Twoją sieć, ogranicź dostęp RDP do określonych adresów IP w Zapore systemu Windows, lub użyj niestandardowego portu połączonego z silnymi hasłami i uwierzytelnianiem na poziomie sieci (NLA).
Netstat pokazuje porty UDP, gdy użyjesz
-a
flagi. Poszukaj wierszy oznaczonych
UDP
w kolumnie Proto. Jednak UDP nie ma uzgadniania połączenia jak TCP, więc znacznie trudniej jest testować zdalnie. Większość online'owych sprawdzaczy portów, w tym narzędzia oparte na TCP, testuje tylko połączenia TCP. Do skanowania UDP, Nmap z
-sU
flaga to praktyczna opcja, choć wymaga uprawnień administratora.
Otwórz
wf.msc
, kliknij "Reguły ruchu przychodzącego", następnie "Nowa reguła" po prawej stronie. Wybierz "Port", wybierz TCP lub UDP, wpisz numer portu, wybierz "Zezwól na połączenie", zastosuj do odpowiednich profili (Domena, Prywatne, Publiczne) i daj regule nazwę. Dla fanów wiersza polecenia, użyj:
netsh advfirewall firewall add rule name="MyPort" dir=in action=allow protocol=TCP localport=8080
.
Timeout oznacza, że sprawdzacz portów wysłał żądanie połączenia TCP, ale nie otrzymał odpowiedzi w okresie oczekiwania (zazwyczaj kilka sekund). Zwykle oznacza to, że zapora po cichu upuszcza pakiety zamiast aktywnie je odrzucać. Wynik "Zamknięty" oznacza, że host wysłał reset TCP, aktywnie odrzucając połączenie. Timeout jest bardziej powszechny w przypadku ścisłych konfiguracji zapory, które upuszczają zamiast odrzucać ruch.