50% zniżki wszystkie plany, ograniczony czas. Rozpoczęcie o godz $2.48/mo
Pozostało 9 minut
Bezpieczeństwo i sieć

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

Kelly’ego Watsona By Kelly’ego Watsona 9 minut czytania Zaktualizowano 28 października 2025 r
Cyfrowy korytarz z ponumerowanymi „drzwiami” portów po prawej stronie, jednymi otwartymi i jednymi zamkniętymi, symbolizującymi odpowiedź na pytanie „jak sprawdzić otwarte porty w systemie Linux pod kątem luk w zabezpieczeniach?”

Większość ludzi uważa, że ​​sprawdzanie otwartych portów jest zadaniem wyłącznie ekspertów ds. bezpieczeństwa, dopóki ich serwer nie zostanie naruszony przez odsłonięty port, o którym nawet nie wiedzą, że nasłuchuje. Możesz sprawdzić otwarte porty w systemie Linux za pomocą wbudowanych poleceń, takich jak netstat, ss, lsof, nmap i netcat, lub zdalnie skanować porty za pomocą PowerShell z systemów Windows. Każda metoda oferuje inny poziom szczegółowości i wymaga różnych uprawnień.

Zarządzanie portami ma większe znaczenie niż kiedykolwiek. Liczba działań w zakresie zautomatyzowanego rozpoznania stale rośnie, a napastnicy stale szukają wrażliwych punktów wejścia. Niezależnie od tego, czy zabezpieczasz serwery produkcyjne, czy testujesz usługi lokalne, opanowanie bezpieczeństwa portów ma fundamentalne znaczenie dla utrzymania bezpiecznego i funkcjonalnego systemu.

TL; DR: Szybki przegląd

  • Użyj ss lub netstat do szybkiego sprawdzenia portów nasłuchowych bez instalowania dodatkowych narzędzi
  • Wdróż nmap, gdy potrzebujesz kompleksowego skanowania portów ze szczegółowym wykrywaniem usług
  • Użyj lsof, aby określić, który konkretny proces korzysta z określonego portu
  • Użyj Test-NetConnection programu PowerShell z systemu Windows, aby sprawdzić porty na zdalnych serwerach z systemem Linux

Czym jest port w prostych słowach?

Ilustracja 3D przedstawiająca serwer jako budynek z wieloma ponumerowanymi „drzwiami” portów, wyjaśniająca w prosty sposób, czym jest port.

Pomyśl o portach jak o ponumerowanych przejściach na serwerze. Każdy port służy jako końcowy punkt komunikacyjny, przez który ruch sieciowy wchodzi lub wychodzi z systemu. Numery portów mieszczą się w zakresie od 0 do 65 535 i są podzielone na trzy kategorie: porty dobrze znane (0–1023), porty zarejestrowane (1024–49151) i porty dynamiczne (49152–65 535).

Mówiąc prościej, podczas przeglądania witryny internetowej Twoja przeglądarka wybiera port 80 dla protokołu HTTP lub port 443 dla protokołu HTTPS. Serwery poczty e-mail odpowiadają na porcie 25 dla SMTP, podczas gdy zdalny dostęp SSH działa na porcie 22. Te porty nasłuchujące działają jako bramy dla legalnego ruchu, ale mogą również stać się punktami wejścia dla atakujących, jeśli nie są chronione.

Porty współpracują z dwoma głównymi protokołami transportowymi: TCP dla niezawodnej komunikacji zorientowanej na połączenie i UDP dla szybszego, bezpołączeniowego przesyłania danych. Zrozumienie, jak działają porty, pomaga podejmować świadome decyzje dotyczące tego, które z nich pozostawić otwarte, a które zamknąć ze względu na większe bezpieczeństwo.

Jak sprawdzić otwarte porty w systemie Linux

Szkło powiększające z napisem „netstat” sprawdzające połączenia sieciowe, symbolizujące rolę polecenia w analizie sieci.

Linux udostępnia kilka potężnych narzędzi do analizy portów, każde z odrębnymi zaletami. Niektóre są preinstalowane, inne wymagają instalacji. Wybór odpowiedniego narzędzia zależy od poziomu uprawnień, wymaganych szczegółów i konkretnego przypadku użycia.

Korzystanie z polecenia netstat

Polecenie netstat od dziesięcioleci jest niezawodnym narzędziem do analizy sieci. Aby sprawdzić otwarte porty, użyj netstat-tuln gdzie każda flaga służy określonemu celowi: -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 rozpoznawać nazwy hostów.

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

The Polecenie netstat w Linuksie oferuje dodatkowe flagi do bardziej szczegółowej analizy. Dodanie opcji -p pokazuje, który proces jest właścicielem każdego połączenia, chociaż wymaga to uprawnień roota. Na przykład, sudo netstat -tulnp ujawnia zarówno port, jak i identyfikator procesu, który go używa.

Korzystanie z polecenia ss

Polecenie ss służy jako nowoczesny zamiennik polecenia netstat, oferując doskonałą wydajność i bardziej szczegółowe statystyki gniazd. Używać ss-tuln z tymi samymi flagami co netstat dla porównywalnych wyników. Jednak ss przetwarza informacje szybciej, szczególnie w systemach z dużą liczbą połączeń.

Aby sprawdzić otwarte porty za pomocą zaawansowanego filtrowania, ss zapewnia zaawansowane opcje składni. Działanie ss -tulnp | grep:22 pokazuje tylko połączenia związane z SSH. Polecenie ss -tn stan ustalony wyświetla wszystkie nawiązane połączenia TCP, pomagając monitorować aktywne sesje.

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

Korzystanie z polecenia lsof

Polecenie lsof doskonale identyfikuje, który proces korzysta z określonego portu. Działanie sudo lsof -i -P -n pokazuje wszystkie połączenia sieciowe ze szczegółami procesu. Flaga -i filtruje połączenia internetowe, -P zapobiega konwersji numeru portu na nazwy usług, a -n pomija rozpoznawanie DNS w celu uzyskania szybszych wyników.

Jeśli chcesz dowiedzieć się, co używa określonego portu, rozwiązaniem jest lsof. Na przykład, sudo lsof -i:3306 ujawnia, czy MySQL jest uruchomiony i jaki identyfikator procesu jest jego właścicielem. Staje się to kluczowe przy rozwiązywaniu konfliktów portów lub identyfikowaniu nieautoryzowanych usług.

Możesz także 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 tego konkretnego identyfikatora procesu.

Używanie Nmap do skanowania portów

Mapa sieci skanowana przez Nmap, która wygląda jak przemiatanie sonarem identyfikujące otwarte i zamknięte porty na różnych urządzeniach.

Nmap jest jednym z najbardziej wszechstronnych dostępnych narzędzi do skanowania portów. Najpierw zainstaluj go za pomocą sudo apt zainstaluj nmap w systemach Ubuntu lub Debian. Do sprawdzania portów lokalnych użyj nmap host lokalny or nmapa 127.0.0.1 do podstawowego skanowania.

W przypadku serwerów zdalnych określ adres IP: nmapa 192.168.1.100. Nmap dostarcza szczegółowych informacji o otwartych portach, wersjach usług, a nawet wykrywaniu systemu operacyjnego za pomocą zaawansowanych flag. Polecenie nmap -sV host lokalny przeprowadza wykrywanie wersji usługi, ujawniając dokładnie, jakie oprogramowanie działa na każdym porcie.

Zespoły ds. bezpieczeństwa cenią sobie zdolność Nmap do testowania reguł zapory sieciowej. Działanie nmap -Pn [IP] skanuje hosta, nawet jeśli ping jest zablokowany. Jednak zawsze upewnij się, że masz pozwolenie przed skanowaniem zdalnych serwerów, ponieważ nieautoryzowane skanowanie portów może naruszyć zasady bezpieczeństwa.

Używanie Netcat (nc) do sprawdzania otwartych portów

Netcat oferuje proste podejście do sprawdzania portów przy minimalnym obciążeniu. Polecenie nc -zv host lokalny 22-80 skanuje zakres portów od 22 do 80, wyświetlając, które porty akceptują połączenia. Flaga -z włącza tryb skanowania bez wysyłania danych, natomiast -v zapewnia szczegółowe dane wyjściowe.

W przypadku weryfikacji jednoportowej, nc -zv nazwa hosta 443 szybko potwierdza, czy protokół HTTPS jest dostępny. Metoda ta sprawdza się w skryptach i procesach automatyzacji. Możesz połączyć netcat z pętlami powłoki, aby uzyskać szersze skanowanie: dla portu w {1..1000}; do nc -zv localhost $port 2>&1 | grep powiódł się; zrobione

The słuchacz Netcata funkcjonalność wykracza poza sprawdzanie portów, obejmuje rzeczywiste testowanie usług i przesyłanie danych, co czyni go wszechstronnym narzędziem w zestawie narzędzi każdego administratora.

Używanie programu PowerShell do sprawdzania otwartych portów

PowerShell umożliwia użytkownikom systemu Windows sprawdzanie otwartych portów na zdalnych serwerach Linux bez instalowania dodatkowego oprogramowania. Polecenie Test-NetConnection -Nazwa komputera [Linux-IP] -Port 22 weryfikuje dostępność SSH z komputera z systemem Windows.

Aby skanować wiele portów, utwórz prostą pętlę PowerShell: 1..1024 | ForEach-Object { Test-NetConnection -Nazwa komputera 192.168.1.100 -Port $_ -WarningAction SilentlyContinue } | Where-Object { $_.TcpTestSucceeded }. Ta metoda działa skutecznie podczas sprawdzania portów w Ubuntu, Debianie lub dowolnej innej dystrybucji Linuksa z systemów Windows.

Zaletą PowerShell jest jego integracja z infrastrukturą Windows. Możesz eksportować wyniki do pliku CSV, wysyłać powiadomienia e-mailem lub uruchamiać automatyczne odpowiedzi na podstawie statusu portu, co czyni go idealnym do monitorowania środowiska hybrydowego.

Porównanie metod skanowania portów

Narzędzie Składnia poleceń Najlepsze dla Warunki wstępne
netstat netstat-tuln Szybki przegląd portów nasłuchowych Preinstalowany w większości systemów
ss ss-tuln Szybka wydajność, szczegółowe informacje o gniazdach Preinstalowany (nowoczesny Linux)
lsof sudo lsof -i -P -n Ustalanie, który proces korzysta z portu Wymagany dostęp do roota/sudo
mapa nmap host lokalny Kompleksowe skanowanie portów Należy zainstalować osobno
Netcat nc -zv port hosta Proste testy łączności portów Wstępnie zainstalowany lub łatwy w instalacji
PowerShell Test-NetConnection Zdalne skanowanie z poziomu systemu Windows Wymagany komputer z systemem Windows

Typowe porty systemu Linux i powiązane z nimi usługi

Port Praca Protokół Powszechne zastosowanie
22 SSH TCP Bezpieczny zdalny dostęp poprzez Zdalne połączenie SSH
80 HTTP TCP Nieszyfrowany ruch sieciowy
443 HTTPS TCP Szyfrowany ruch sieciowy
21 FTP TCP Przesyłanie plików
25 SMTP TCP Wysyłanie e-maili
3306 MySQL'a TCP Połączenia z bazą danych
5432 PostgreSQL TCP Połączenia z bazą danych

Konfiguracja portu wymaga znajomości ustawień zapory sieciowej i powiązań usług. Wielu administratorów zmień port SSH w systemie Linux z domyślnego 22 na niestandardowy port, aby ograniczyć próby automatycznych ataków. The Telnet kontra SSH debata podkreśla, dlaczego port 23 (Telnet) powinien pozostać zamknięty na rzecz szyfrowanego protokołu SSH portu 22.

Zrozumienie otwartych portów w systemie Linux

Mur twierdzy z ponumerowanymi bramami portowymi, z których jedna jest otwarta i bezbronna, symbolizujące zagrożenia bezpieczeństwa związane z otwartymi portami.

Każdy otwarty port reprezentuje potencjalny punkt wejścia do systemu. Implikacje dla bezpieczeństwa nasiliły się wraz ze wzrostem aktywności automatycznego skanowania portów 16,7% na całym świecie, ponieważ ugrupowania zagrażające stale poszukują podatnych na ataki punktów wejścia. W ramach tych działań rozpoznawczych co miesiąc skanowane są miliardy portów w poszukiwaniu źle skonfigurowanych usług lub nieaktualnego oprogramowania.

Całkiem nieźle, ale co się właściwie dzieje, gdy atakujący znajdą otwarty port? Stany portów opowiadają historię. Port w stanie LISTEN akceptuje połączenia przychodzące, ESTABLISHED oznacza aktywny transfer danych, a TIME_WAIT pokazuje połączenie niedawno zamknięte, ale nadal śledzone. Atakujący wykorzystują otwarte porty różnymi metodami: ataki brute-force na SSH (port 22), wstrzykiwanie SQL przez porty internetowe (80/443) i zdalne wykonanie kodu za pośrednictwem podatnych usług.

Bezpieczne otwieranie portów wymaga podejścia opartego na głębokiej obronie. Zacznij od domyślnej zasady zapory sieciowej. Sprawdź swoją konfigurację za pomocą iptables pokazuje reguły. Otwieraj porty tylko dla usług, z których aktywnie korzystasz, i zamykaj je natychmiast, gdy nie są już potrzebne. Rozważ zmianę domyślnych portów dla typowych usług, aby zmniejszyć skuteczność automatycznego skanowania.

Ekosystem Linuksa stanął w obliczu poważnych wyzwań związanych z bezpieczeństwem, z setkami luk wymagających łatania. Regularny audyt portów pomaga wykryć nieautoryzowane usługi, zanim zrobią to atakujący. Używaj narzędzi do przesyłania plików, które przestrzegają granic bezpieczeństwa, takich jak kopiowanie plików przez SSH zamiast niezaszyfrowanego FTP. Podczas przenoszenia plików między systemami za pomocą SCP do kopiowania plików z systemu zdalnego do lokalnego zapewnia szyfrowany transfer przez bezpieczny kanał SSH.

Najlepsze praktyki obejmują wdrażanie pukania do portów dla wrażliwych usług, używanie funkcji Fail2ban do blokowania powtarzających się niepowodzeń uwierzytelniania i utrzymywanie szczegółowych dzienników prób połączeń. Zaplanuj regularne audyty bezpieczeństwa, aby sprawdzić, które porty pozostają otwarte i czy nadal służą uzasadnionym celom.

Jak Linux VPS Cloudzy upraszcza zarządzanie portami

Zarządzanie portami staje się znacznie łatwiejsze dzięki dobrze skonfigurowanej infrastrukturze. Cloudzy’ego Serwer VPS z Linuksem rozwiązania zapewniają wstępnie skonfigurowane ustawienia zabezpieczeń, które obejmują inteligentne reguły zapory sieciowej i usprawnione zarządzanie portami za pośrednictwem intuicyjnego panelu sterowania. Dzięki pełnemu dostępowi do konta root zachowujesz pełną kontrolę nad tym, które porty należy otwierać, a które zamykać.

Hosting VPS pod Linuksem

Zdobądź ekonomiczny lub premium Linux VPS do hostowania swojej witryny internetowej lub zdalnego pulpitu, w najniższej cenie. VPS Działa na platformie Linux KVM w celu zwiększenia wydajności i działa na wydajnym sprzęcie z pamięcią masową SSD NVMe w celu zwiększenia szybkości.

Przeczytaj więcej

Wydajność ma znaczenie podczas sprawdzania portów i zarządzania nimi. Pamięć masowa NVMe Cloudzy zapewnia wydajne działanie narzędzi do skanowania portów, a połączenia o przepustowości do 10 Gb/s obsługują duży ruch bez wąskich gardeł. Infrastruktura czerpie korzyści z faktu, że Linux obsługuje znaczną część globalnej infrastruktury serwerowej, dzięki czemu te zoptymalizowane konfiguracje są sprawdzone w boju i niezawodne.

Już od 3,96 USD miesięcznie otrzymujesz profesjonalne środowisko, idealne do ćwiczenia technik zarządzania portami. Wiele lokalizacji centrów danych umożliwia testowanie konfiguracji rozproszonych geograficznie, a całodobowa pomoc techniczna pomaga w skomplikowanych konfiguracjach zapory ogniowej lub rozwiązywaniu problemów związanych z portami. Niezależnie od tego, czy uczysz się, jak sprawdzać otwarte porty w systemie Linux, czy wdrażasz usługi produkcyjne, posiadanie elastycznego środowiska VPS przyspiesza wdrażanie zabezpieczeń.

Wniosek

Jak więc najlepiej sprawdzić otwarte porty? Mówiąc wprost, nie ma takiego. Aby szybko sprawdzić lokalnie, ss lub netstat wykonają to zadanie bez problemu. Kiedy potrzebujesz kompleksowych audytów bezpieczeństwa, Nmap ujawni wszystko. Aby wyśledzić, który proces jest właścicielem portu, lsof oszczędza wiele godzin zgadywania. PowerShell łączy systemy Windows i Linux, gdy potrzebujesz zdalnej weryfikacji.

Prawdziwa lekcja nie polega na zapamiętywaniu poleceń. Chodzi o to, aby audyt portów stał się rutyną, a nie reakcją na panikę. Zaplanuj cotygodniowe skanowanie, zamknij nieużywane porty w momencie ich wykrycia i dokumentuj, które usługi wymagają jakich portów. Takie podejście przekształca sprawdzanie portów z reaktywnego gaszenia pożarów w proaktywną obronę.

Udział

Więcej z bloga

Czytaj dalej.

Obraz tytułowy Cloudzy do przewodnika MikroTik L2TP VPN, przedstawiający laptopa łączącego się z szafą serwerową poprzez świecący niebiesko-złoty cyfrowy tunel z ikonami tarcz.
Bezpieczeństwo i sieć

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

W tej konfiguracji MikroTik L2TP VPN, L2TP obsługuje tunelowanie, podczas gdy IPsec obsługuje szyfrowanie i integralność; ich sparowanie zapewnia zgodność z klientem natywnym bez wieku osób trzecich

Rexa CyrusRexa Cyrus 9 minut czytania
Okno terminala wyświetlające komunikat ostrzegawczy SSH o zmianie identyfikacji zdalnego hosta, z tytułem Fix Guide i logo Cloudzy na ciemnoturkusowym tle.
Bezpieczeństwo i sieć

Ostrzeżenie: identyfikacja hosta zdalnego uległa zmianie i jak to naprawić

SSH to bezpieczny protokół sieciowy, który tworzy szyfrowany tunel pomiędzy systemami. Pozostaje popularny wśród programistów, którzy potrzebują zdalnego dostępu do komputerów bez konieczności posiadania grafiki

Rexa CyrusRexa Cyrus 10 minut czytania
Ilustracja przewodnika rozwiązywania problemów z serwerem DNS z symbolami ostrzegawczymi i niebieskim serwerem na ciemnym tle w przypadku błędów rozpoznawania nazw w systemie Linux
Bezpieczeństwo i sieć

Tymczasowa awaria rozpoznawania nazw: co to oznacza i jak to naprawić?

Podczas korzystania z Linuksa możesz napotkać tymczasowy błąd rozpoznawania nazw podczas próby uzyskania dostępu do stron internetowych, aktualizacji pakietów lub wykonywania zadań wymagających połączenia internetowego

Rexa CyrusRexa Cyrus 12 minut czytania

Gotowy do wdrożenia? Od 2,48 USD/mies.

Niezależna chmura, od 2008. AMD EPYC, NVMe, 40 Gbps. 14-dniowy zwrot pieniędzy.