50% zniżki wszystkie plany, oferta czasowa. Od $2.48/mo
9 minut pozostało
Bezpieczeństwo i Sieć

Jak sprawdzić otwarte porty w Linux za pomocą poleceń lub PowerShell?

Kelly Watson By Kelly Watson 9 minut czytania Zaktualizowano 28 października 2025
Cyfrowy korytarz z ponumerowanymi "drzwiami" portów po prawej stronie - jedne otwarte, jedne zamknięte - ilustrujący odpowiedź na pytanie: jak sprawdzić otwarte porty w Linux pod kątem luk w bezpieczeństwie?

Większość osób uważa sprawdzanie otwartych portów za zadanie wyłącznie dla specjalistów ds. bezpieczeństwa - do czasu, gdy ich serwer zostaje przejęty przez otwarty port, o którego istnieniu nawet nie wiedzieli. Otwarte porty w Linux możesz sprawdzić za pomocą wbudowanych poleceń, takich jak netstat, ss, lsof, nmap i netcat, lub zdalnie przeskanować porty przy użyciu PowerShell z systemów Windows. Każda z tych metod zapewnia inny poziom szczegółowości i wymaga różnych uprawnień.

Zarządzanie portami jest dziś ważniejsze niż kiedykolwiek. Zautomatyzowane działania rozpoznawcze stale rosną, a atakujący nieustannie sondują serwery w poszukiwaniu podatnych punktów wejścia. Niezależnie od tego, czy zabezpieczasz serwery produkcyjne, czy testujesz lokalne usługi, znajomość bezpieczeństwa portów jest podstawą utrzymania sprawnego i bezpiecznego systemu.

TL;DR: Szybki Przegląd

  • Użyj ss lub netstat do szybkiego sprawdzenia nasłuchujących portów bez instalowania dodatkowych narzędzi
  • Użyj nmap, gdy potrzebujesz szczegółowego skanowania portów wraz z wykrywaniem usług
  • Użyj lsof, aby sprawdzić, który konkretny proces korzysta z danego portu
  • Użyj Test-NetConnection w PowerShell z systemu Windows, aby sprawdzić porty na zdalnych serwerach Linux

Czym jest port - prosto wyjaśnione?

Ilustracja 3D serwera w formie budynku z wieloma ponumerowanymi "bramami" portów, wyjaśniająca czym jest port w prostych słowach.

Wyobraź sobie porty jako ponumerowane wejścia na Twoim serwerze. Każdy port to punkt końcowy komunikacji sieciowej, przez który ruch sieciowy wchodzi do systemu lub go opuszcza. Numery portów mieszczą się w zakresie od 0 do 65 535 i dzielą się na trzy kategorie: porty powszechnie znane (0-1023), porty zarejestrowane (1024-49151) oraz porty dynamiczne (49152-65 535).

Mówiąc prościej: kiedy przeglądasz stronę internetową, Twoja przeglądarka odpytuje port 80 dla HTTP lub port 443 dla HTTPS. Serwery poczty odpowiadają na porcie 25 dla SMTP, natomiast zdalny dostęp przez SSH działa na porcie 22. Te nasłuchujące porty stanowią bramy dla legalnego ruchu, ale jeśli pozostaną niezabezpieczone, mogą stać się punktem wejścia dla atakujących.

Porty współpracują z dwoma głównymi protokołami transportowymi: TCP dla niezawodnej komunikacji zorientowanej na połączenie oraz UDP dla szybszego przesyłania danych bez nawiązywania połączenia. Zrozumienie działania portów pomaga podejmować świadome decyzje o tym, które z nich pozostawić otwarte, a które zamknąć w celu poprawy bezpieczeństwa.

Jak sprawdzić otwarte porty w Linux

Lupa z etykietą "netstat" badająca połączenia sieciowe, symbolizująca rolę tego polecenia w analizie sieci.

Linux oferuje kilka narzędzi do analizy portów, z których każde ma swoje zalety. Część z nich jest preinstalowana, inne wymagają doinstalowania. Wybór odpowiedniego narzędzia zależy od posiadanych uprawnień, wymaganego poziomu szczegółowości i konkretnego zastosowania.

Polecenie netstat

Polecenie netstat od dekad służy jako niezawodne narzędzie do analizy sieci. Aby sprawdzić otwarte porty, użyj netstat -tuln gdzie każda flaga pełni określoną funkcję: -t pokazuje połączenia TCP, -u wyświetla połączenia UDP, -l filtruje tylko porty nasłuchujące, a -n przedstawia wyniki w formacie numerycznym zamiast rozwiązywać nazwy hostów.

Po uruchomieniu tego polecenia zobaczysz dane wyjściowe zawierające protokół, adres lokalny z numerem portu, adres zdalny i stan połączenia. Na przykład, 0.0.0.0:22 oznacza, że SSH nasłuchuje na wszystkich interfejsach sieciowych na porcie 22. Każdy wpis daje natychmiastowy wgląd w aktywne usługi i ich stan sieciowy.

Trwałość Polecenie netstat w Linux oferuje dodatkowe flagi do bardziej szczegółowej analizy. Dodanie -p pokazuje, który proces jest właścicielem danego połączenia, choć wymaga to uprawnień roota. Na przykład, sudo netstat -tulnp wyświetla zarówno port, jak i ID procesu, który go używa.

Polecenie ss

Polecenie ss to nowoczesny zamiennik netstat, oferujący lepszą wydajność i bardziej szczegółowe statystyki gniazd. Użyj ss -tuln z tymi samymi flagami co netstat, aby uzyskać porównywalny wynik. Jednak ss przetwarza informacje szybciej, szczególnie w systemach z dużą liczbą połączeń.

Do sprawdzania otwartych portów z zaawansowanym filtrowaniem ss oferuje rozbudowane opcje składni. Uruchomienie ss -tulnp | grep :22 pokazuje tylko połączenia związane z SSH. Polecenie ss -tn state established wyświetla wszystkie aktywne połączenia TCP, co ułatwia monitorowanie bieżących sesji.

Jedną z zalet ss jest możliwość filtrowania według określonych kryteriów. Na przykład, ss -t '( dport = :80 or sport = :80 )' pokazuje tylko połączenia związane z ruchem webowym na porcie 80. Ta precyzja sprawia, że ss jest nieocenione przy rozwiązywaniu problemów z konkretnymi usługami.

Polecenie lsof

Polecenie lsof sprawdza się doskonale przy identyfikowaniu, który proces używa konkretnego portu. Uruchomienie sudo lsof -i -P -n pokazuje wszystkie połączenia sieciowe wraz ze szczegółami procesów. Flaga -i filtruje połączenia internetowe, -P zapobiega konwersji numerów portów na nazwy usług, a -n pomija rozwiązywanie DNS dla szybszych wyników.

Gdy potrzebujesz sprawdzić, co zajmuje konkretny port, lsof daje odpowiedź. Na przykład, sudo lsof -i :3306 pokazuje, czy MySQL działa i który proces jest jego właścicielem. Jest to szczególnie przydatne przy rozwiązywaniu konfliktów portów lub identyfikowaniu nieautoryzowanych usług.

Możesz również filtrować wyniki według konkretnych aplikacji. Jeśli podejrzewasz, że określony program nasłuchuje na nieoczekiwanych portach, sudo lsof -i -a -p [PID] pokazuje wszystkie połączenia sieciowe dla danego ID procesu.

Skanowanie portów z Nmap

Mapa sieci skanowana przez Nmap, przypominająca wizualnie skan sonarowy identyfikujący otwarte i zamknięte porty na różnych urządzeniach.

Nmap to jedno z najbardziej rozbudowanych narzędzi do skanowania portów. Aby je zainstalować, użyj sudo apt install nmap na systemach Ubuntu lub Debian. Do sprawdzania portów lokalnych użyj nmap localhost or nmap 127.0.0.1 do podstawowego skanowania.

W przypadku zdalnych serwerów podaj adres IP: nmap 192.168.1.100. Nmap dostarcza szczegółowych informacji o otwartych portach, wersjach usług, a przy użyciu zaawansowanych flag nawet wykrywa system operacyjny. Polecenie nmap -sV localhost wykrywa wersje usług, pokazując dokładnie, jakie oprogramowanie działa na każdym porcie.

Zespoły ds. bezpieczeństwa cenią Nmap za możliwość testowania reguł zapory sieciowej. Polecenie nmap -Pn [IP] skanuje hosta nawet wtedy, gdy ping jest zablokowany. Pamiętaj jednak, aby zawsze mieć odpowiednie uprawnienia przed skanowaniem zdalnych serwerów - nieautoryzowane skanowanie portów może naruszać zasady bezpieczeństwa.

Sprawdzanie otwartych portów za pomocą Netcat (nc)

Netcat to prosty i lekki sposób na sprawdzanie portów. Polecenie nc -zv localhost 22-80 skanuje porty od 22 do 80 i wyświetla, które z nich akceptują połączenia. Flaga -z włącza tryb skanowania bez wysyłania danych, a -v zwiększa szczegółowość wyników.

Do weryfikacji pojedynczego portu nc -zv hostname 443 szybko sprawdza, czy HTTPS jest dostępny. Ta metoda sprawdza się dobrze w skryptach i procesach automatyzacji. Możesz połączyć Netcat z pętlami powłoki do szerszego skanowania: for port in {1..1000}; do nc -zv localhost $port 2>&1 | grep succeeded; done

Trwałość nasłuchiwacz netcat Netcat wykracza jednak poza samo skanowanie portów - umożliwia też testowanie usług i transfer danych, co czyni go wszechstronnym narzędziem w arsenale każdego administratora.

Sprawdzanie otwartych portów za pomocą PowerShell

PowerShell pozwala użytkownikom Windows sprawdzać otwarte porty na zdalnych serwerach Linux bez instalowania dodatkowego oprogramowania. Polecenie Test-NetConnection -ComputerName [Linux-IP] -Port 22 weryfikuje dostępność SSH z poziomu maszyny Windows.

Aby przeskanować wiele portów, utwórz prostą pętlę w PowerShell: 1..1024 | ForEach-Object { Test-NetConnection -ComputerName 192.168.1.100 -Port $_ -WarningAction SilentlyContinue } | Where-Object { $_.TcpTestSucceeded }. Ta metoda działa równie dobrze przy sprawdzaniu portów na Ubuntu, Debian lub dowolnej innej dystrybucji Linux z systemów Windows.

Zaletą PowerShell jest jego integracja z infrastrukturą Windows. Wyniki możesz eksportować do CSV, wysyłać alerty e-mailem lub uruchamiać automatyczne reakcje na podstawie statusu portów - to czyni go idealnym rozwiązaniem do monitorowania środowisk hybrydowych.

Porównanie metod skanowania portów

Narzędzie Składnia Polecenia Najlepsze dla Wymagania wstępne
netstat netstat -tuln Szybki przegląd nasłuchujących portów Preinstalowane na większości systemów
ss ss -tuln Wysoka wydajność, szczegółowe informacje o gniazdach Preinstalowane (nowoczesne Linux)
lsof sudo lsof -i -P -n Znajdowanie procesu korzystającego z danego portu Wymagane uprawnienia root/sudo
nmap nmap localhost Kompleksowe skanowanie portów Wymaga osobnej instalacji
netcat nc -zv host port Proste testy połączeń na portach Preinstalowane lub łatwa instalacja
PowerShell Test-NetConnection Zdalne skanowanie z Windows Wymagana maszyna Windows

Popularne porty Linux i powiązane z nimi usługi

Port Usługa Protokół Typowe zastosowanie
22 SSH TCP Bezpieczny dostęp zdalny przez Zdalne połączenie SSH
80 HTTP TCP Nieszyfrowany ruch HTTP
443 HTTPS TCP Szyfrowany ruch HTTPS
21 FTP TCP Transfery plików
25 SMTP TCP Wysyłanie wiadomości e-mail
3306 MySQL TCP Połączenia bazy danych
5432 PostgreSQL TCP Połączenia bazy danych

Konfiguracja portów wymaga znajomości ustawień zapory i powiązań usług. Wielu administratorów zmienia port SSH w Linux z domyślnego 22 na niestandardowy, aby ograniczyć liczbę automatycznych ataków. Debata ta Telnet a SSH pokazuje, dlaczego port 23 (Telnet) powinien pozostać zamknięty na rzecz szyfrowanego protokołu SSH na porcie 22.

Otwarte porty w Linux - co warto wiedzieć

Mur twierdzy z ponumerowanymi bramami portów, z których jedna jest otwarta i podatna na ataki - ilustracja zagrożeń bezpieczeństwa wynikających z otwartych portów.

Każdy otwarty port to potencjalny punkt wejścia do systemu. Zagrożenia znacząco wzrosły - automatyczne skanowanie portów nasiliło się o 16,7% na całym świecie, ponieważ cyberprzestępcy nieustannie szukają podatnych punktów wejścia. Działania rozpoznawcze obejmują skanowanie miliardów portów miesięcznie w poszukiwaniu źle skonfigurowanych usług lub przestarzałego oprogramowania.

Rozumiem, ale co właściwie dzieje się, gdy atakujący znajdzie otwarty port? Stany portów mówią same za siebie. Port w stanie LISTEN przyjmuje połączenia przychodzące, ESTABLISHED oznacza aktywny transfer danych, a TIME_WAIT wskazuje połączenie niedawno zamknięte, ale jeszcze śledzone. Atakujący wykorzystują otwarte porty na różne sposoby: ataki brute force na SSH (port 22), SQL injection przez porty webowe (80/443) oraz zdalne wykonanie kodu przez podatne usługi.

Bezpieczne otwieranie portów wymaga podejścia opartego na wielowarstwowej ochronie. Zacznij od polityki domyślnego blokowania w zaporze. Zweryfikuj konfigurację poleceniem pokaż reguły iptables. Otwieraj tylko te porty, z których aktywnie korzystasz, i zamykaj je od razu, gdy nie są już potrzebne. Rozważ zmianę domyślnych portów popularnych usług, żeby utrudnić automatyczne skanowanie.

Ekosystem Linux zmagał się z poważnymi problemami bezpieczeństwa - setki podatności wymagały łatek. Regularne audyty portów pozwalają wykryć nieautoryzowane usługi, zanim zrobi to atakujący. Używaj narzędzi do transferu plików, które respektują granice bezpieczeństwa, takich jak kopiowanie plików przez SSH zamiast niezaszyfrowanego FTP. Przy przenoszeniu plików między systemami, SCP do kopiowania plików ze zdalnego systemu na lokalny zapewnia szyfrowany transfer przez bezpieczny kanał SSH.

Dobre praktyki obejmują: port knocking dla wrażliwych usług, fail2ban do blokowania powtarzających się nieudanych uwierzytelnień oraz szczegółowe logi prób połączeń. Planuj regularne audyty bezpieczeństwa, żeby sprawdzać, które porty pozostają otwarte i czy nadal służą uzasadnionym celom.

Jak VPS Linux od Cloudzy upraszcza zarządzanie portami

Zarządzanie portami jest znacznie prostsze przy dobrze skonfigurowanej infrastrukturze. Rozwiązania Linux VPS Cloudzy dostarczają wstępnie skonfigurowane ustawienia bezpieczeństwa, które obejmują inteligentne reguły zapory i uproszczone zarządzanie portami przez przejrzysty panel sterowania. Pełny dostęp root daje Ci pełną kontrolę nad tym, które porty otwierać lub zamykać.

Hosting Linux VPS

Postaw na ekonomiczny lub premium Linux VPS do hostowania strony internetowej lub zdalnego pulpitu, w najniższej dostępnej cenie. VPS Działa na Linux KVM dla większej wydajności i wykorzystuje wydajny sprzęt z pamięcią masową NVMe SSD dla większej szybkości.

Czytaj więcej

Wydajność ma znaczenie przy sprawdzaniu portów i zarządzaniu nimi. Dyski NVMe od Cloudzy sprawiają, że narzędzia do skanowania portów działają sprawnie, a połączenia do 10 Gbps obsługują duży ruch bez zatorów. Infrastruktura korzysta z tego, że Linux napędza znaczną część globalnej infrastruktury serwerowej, dzięki czemu te zoptymalizowane konfiguracje są sprawdzone w praktyce.

Już od 3,96 $ miesięcznie otrzymujesz profesjonalne środowisko idealne do ćwiczenia technik zarządzania portami. Wiele lokalizacji centrów danych pozwala testować konfiguracje geodystrybuowane, a wsparcie 24/7 pomaga przy złożonych konfiguracjach zapory lub problemach związanych z portami. Niezależnie od tego, czy uczysz się sprawdzać otwarte porty w Linux, czy wdrażasz usługi produkcyjne, elastyczne środowisko VPS przyspiesza wdrażanie zabezpieczeń.

Wnioski

Jaki jest więc najlepszy sposób sprawdzania otwartych portów? Mówiąc wprost, nie ma jednego. Do szybkich lokalnych sprawdzeń ss lub netstat wystarczą bez zbędnych komplikacji. Gdy potrzebujesz kompleksowego audytu bezpieczeństwa, Nmap ujawnia wszystko. Do identyfikacji procesu, który zajmuje port, lsof oszczędza godzin zgadywania. PowerShell łączy Windows i Linux, gdy potrzebujesz zdalnej weryfikacji.

Prawdziwa lekcja nie polega na zapamiętywaniu poleceń. Chodzi o to, żeby audyt portów stał się rutyną, a nie reakcją na alarm. Planuj cotygodniowe skanowania, zamykaj nieużywane porty od razu po ich wykryciu i dokumentuj, które usługi potrzebują których portów. Takie podejście zamienia sprawdzanie portów z reaktywnego gaszenia pożarów w proaktywną obronę.

Udostępnij

Więcej z bloga

Czytaj dalej.

Grafika tytułowa Cloudzy do przewodnika po MikroTik L2TP VPN, przedstawiająca laptopa łączącego się z szafą serwerową przez świecący niebiesko-złoty cyfrowy tunel z ikonami tarczy.
Bezpieczeństwo i Sieć

Konfiguracja MikroTik L2TP VPN (z IPsec): przewodnik po RouterOS (2026)

W tej konfiguracji MikroTik L2TP VPN protokół L2TP odpowiada za tunelowanie, a IPsec za szyfrowanie i integralność. Ich połączenie zapewnia natywną zgodność z klientami bez konieczności stosowania rozwiązań innych firm.

Rexa CyrusRexa Cyrus 9 minut czytania
Okno terminala wyświetlające komunikat ostrzegawczy SSH o zmianie identyfikacji zdalnego hosta, z tytułem przewodnika naprawczego i brandingiem Cloudzy na ciemnozielonym tle.
Bezpieczeństwo i Sieć

Warning: Remote Host Identification Has Changed i jak to naprawić

SSH to bezpieczny protokół sieciowy tworzący szyfrowany tunel między systemami. Pozostaje popularnym wyborem wśród programistów potrzebujących zdalnego dostępu do komputerów bez interfejsu graficznego.

Rexa CyrusRexa Cyrus Czytanie 10 minut
Ilustracja do przewodnika po rozwiązywaniu problemów z serwerem DNS, z symbolami ostrzeżeń i niebieskim serwerem na ciemnym tle, dotycząca błędów rozpoznawania nazw Linux
Bezpieczeństwo i Sieć

Tymczasowy błąd rozpoznawania nazw: Co oznacza i jak go naprawić?

Podczas korzystania z Linux możesz napotkać błąd tymczasowego rozpoznawania nazw przy próbie dostępu do stron internetowych, aktualizacji pakietów lub wykonywania zadań wymagających połączenia z internetem.

Rexa CyrusRexa Cyrus 12 minut czytania

Gotowy do wdrożenia? Od 2,48 USD/miesiąc.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.