Sprawdzanie otwartych i nasłuchujących portów w systemie Linux przy użyciu netstat i ss ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
06.12.2024

Sprawdzanie otwartych i nasłuchujących portów w systemie Linux przy użyciu netstat i ss

Monitorowanie otwartych i nasłuchujących portów w systemie Linux ma zasadnicze znaczenie dla bezpieczeństwa, rozwiązywania problemów sieciowych i administrowania systemem. Wiedza o tym, które porty są używane i przez które usługi, może pomóc wykryć potencjalne luki w zabezpieczeniach lub nieautoryzowany dostęp. Dwa popularne narzędzia używane do tego celu to netstat i ss.

W tym artykule omówimy, jak używać poleceń netstat i ss do sprawdzania otwartych i nasłuchujących portów w systemie Linux.

1. Zrozumienie portów i ich typów

Zanim zagłębimy się w narzędzia, ważne jest, aby zrozumieć podstawowe typy portów, które można napotkać:

  • Otwarte porty: Są to porty, na których aplikacje aktywnie nasłuchują połączeń.
  • Porty nasłuchujące: Są to porty, z którymi usługa lub aplikacja jest powiązana i aktywnie oczekuje na przychodzący ruch sieciowy.
  • Popularne protokoły:
    • TCP: Transmission Control Protocol (niezawodny, oparty na połączeniach).
    • UDP: User Datagram Protocol (bezpołączeniowy, mniej niezawodny, ale szybszy).

2. Sprawdzanie portów za pomocą netstat

Co to jest netstat?

netstat to klasyczne narzędzie wiersza poleceń, które zapewnia statystyki sieciowe i informacje o połączeniach sieciowych, w tym otwartych i nasłuchujących portach. Chociaż został on wycofany na rzecz nowszych narzędzi, takich jak ss, nadal jest szeroko stosowany.

Instalacja netstat

netstat jest częścią pakietu net-tools. W nowoczesnych dystrybucjach Linuksa może być konieczne zainstalowanie go ręcznie:

  • Debian/Ubuntu:
    sudo apt install net-tools
  • CentOS/RHEL:
    sudo yum install net-tools

Używanie netstat do sprawdzania otwartych i nasłuchujących portów

Aby sprawdzić wszystkie porty nasłuchujące w systemie, w tym TCP i UDP, należy użyć następującego polecenia:

sudo netstat -tuln
  • t: Pokaż porty TCP.
  • u: Pokaż porty UDP.
  • l: Pokazuje tylko porty nasłuchujące.
  • n: Pokazuje adresy numeryczne zamiast rozpoznawania nazw hostów i usług.

Przykładowe wyjście:

  • Local Address: Adres IP i port, na którym nasłuchuje usługa.
  • Adres zagraniczny: IP i port zdalnego klienta (dla aktywnych połączeń).
  • State: Stan połączenia (np. LISTEN dla otwartych portów).

Filtrowanie określonych portów lub usług za pomocą netstat

Możesz filtrować dane wyjściowe, aby skupić się na określonych portach lub usługach. Na przykład, aby sprawdzić porty związane z HTTP (port 80):

sudo netstat -tuln | grep ":80"

Spowoduje to wyświetlenie wszystkich usług nasłuchujących na porcie 80.

3. Sprawdzanie portów za pomocą ss

Czym jest ss?

ss to nowoczesne narzędzie, które zastąpiło netstat w wielu dystrybucjach Linuksa. Jest szybszy i bardziej wydajny niż netstat, szczególnie w przypadku dużej liczby połączeń. ss może wyświetlać otwarte porty, informacje o gniazdach sieciowych i nie tylko.

Używanie ss do sprawdzania otwartych i nasłuchujących portów

Składnia ss jest dość podobna do netstat. Aby sprawdzić wszystkie nasłuchujące porty TCP i UDP, użyj:

ss -tuln
  • t: Pokaż gniazda TCP.
  • u: Pokaż gniazda UDP.
  • l: Pokazuje tylko gniazda nasłuchujące.
  • n: Pokazuje adresy numeryczne (nie rozwiązuje nazw hostów).

Przykładowe wyjście:

To wyjście pokazuje wszystkie porty nasłuchujące i ich stany (podobnie jak netstat).

Zaawansowane użycie ss

ss zapewnia bardziej zaawansowane opcje filtrowania i wyświetlania połączeń w oparciu o różne kryteria.

Wyświetl tylko nasłuchujące porty TCP:

ss -tl

Wyświetlatylko nasłuchujące porty UDP:

ss -ul

Wyświetlaporty nasłuchujące według identyfikatora procesu (PID):

Aby zobaczyć, który proces jest powiązany z portem nasłuchującym, użyj:

ss -tulnp

Opcja p pokazuje proces korzystający z portu, co jest pomocne przy rozwiązywaniu problemów.

4. Porównanie netstat i ss

Zarówno netstat, jak i ss służą podobnym celom, ale istnieją różnice, na które warto zwrócić uwagę:

  • Szybkość i wydajność: ss jest szybszy niż netstat i zużywa mniej zasobów. Może wydajniej obsługiwać dużą liczbę połączeń.
  • Dostępność: ss jest domyślnie dołączony do większości nowoczesnych dystrybucji Linuksa, podczas gdy netstat wymaga zainstalowania pakietu net-tools w niektórych systemach.
  • Format wyjścia: Oba programy dostarczają szczegółowych informacji o portach i połączeniach, ale ss ma więcej opcji filtrowania i wyświetlania określonych informacji.

Kiedy używać netstat:

  • Podczas pracy na starszych systemach Linux.
  • Gdy jesteś zaznajomiony ze składnią netstat i nie chcesz się przełączać.

Kiedy używać ss:

  • Gdy potrzebna jest lepsza wydajność, zwłaszcza w systemach z dużą liczbą połączeń.
  • Do bardziej zaawansowanego filtrowania i analizy sieci.

5. Inne narzędzia do sprawdzania otwartych portów

Oprócz netstat i ss, istnieją inne narzędzia, których można użyć do sprawdzenia otwartych i nasłuchujących portów w systemie Linux:

lsof wyświetla listę otwartych plików, które mogą zawierać gniazda sieciowe. Można go użyć do sprawdzenia, który proces nasłuchuje na określonym porcie

sudo lsof -i :80

To pokazuje procesy korzystające z portu 80.

nmap to narzędzie do skanowania sieci, które może być używane do sprawdzania otwartych portów w systemie.

sudo nmap -sT -O localhost

To polecenie skanuje porty TCP na localhost.

Wnioski

Monitorowanie otwartych i nasłuchujących portów jest niezbędnym zadaniem dla administratorów systemu, a narzędzia takie jak netstat i ss ułatwiają to zadanie. Podczas gdy netstat jest nadal używany w starszych systemach, ss stał się preferowanym narzędziem ze względu na jego szybkość i wydajność. Niezależnie od tego, czy rozwiązujesz problemy z siecią, czy zabezpieczasz swój serwer Linux, narzędzia te pomogą ci śledzić aktywne usługi i zapewnić prawidłowe zarządzanie portami.

Użyj netstat, jeśli jesteś z nim bardziej zaznajomiony, lub przełącz się na ss, aby szybciej i wydajniej monitorować otwarte i nasłuchujące porty systemu.

Daj mi znać, jeśli potrzebujesz dalszych wyjaśnień lub pomocy!

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills