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:
- CentOS/RHEL:
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:
- –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):
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:
- –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:
Wyświetlatylko nasłuchujące porty UDP:
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:
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
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.
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!