Sprawdzanie otwartych i nasłuchujących portów w Linuxie za pomocą Netstat i SS
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 jest niezbędną praktyką w celu utrzymania bezpieczeństwa systemu, przeprowadzania diagnostyki sieci oraz efektywnego zarządzania infrastrukturą serwerową. Regularne sprawdzanie, które porty są otwarte i które usługi z nich korzystają, pozwala zidentyfikować potencjalne zagrożenia bezpieczeństwa, wykryć nieautoryzowane próby dostępu oraz zapewnić, że system nie jest narażony na zbędne luki w zabezpieczeniach.
Zrozumienie, które usługi są przypisane do konkretnych portów, pomaga również wykryć niewłaściwe konfiguracje lub nieoczekiwane zachowania, takie jak nieznane procesy nasłuchujące na wrażliwych portach. Ta wiedza znacznie zmniejsza ryzyko naruszenia bezpieczeństwa, pozwalając na zamknięcie nieużywanych portów lub odpowiednie zabezpieczenie aktywnych.
W tym artykule wyjaśnimy, jak używać poleceń netstat i ss, aby sprawdzić otwarte i nasłuchujące porty w systemie Linux.
Zrozumienie portów i ich typów
Przed użyciem narzędzi ważne jest, aby zrozumieć podstawowe typy portów, które możesz napotkać:
- Otwarty port: Porty, na których aplikacje aktywnie nasłuchują połączeń przychodzących.
- Nasłuchujący port: Porty przypisane do usługi lub aplikacji, która czeka na ruch sieciowy.
- Typowe protokoły:
- TCP: Protokół kontroli transmisji, zorientowany na połączenie i niezawodny.
- UDP: Protokół datagramów użytkownika, bezpołączeniowy, szybszy, ale mniej niezawodny.
Sprawdzanie portów za pomocą netstat
Co to jest netstat?
netstat to klasyczne narzędzie wiersza poleceń, które dostarcza statystyki sieciowe i informacje o połączeniach sieciowych, w tym otwartych i nasłuchujących portach. Chociaż zostało wycofane na rzecz nowszych narzędzi, takich jak ss, wciąż jest szeroko stosowane w wielu systemach.
Instalacja netstat
Polecenie netstat jest częścią pakietu net-tools. W nowoczesnych dystrybucjach Linuxa może być konieczna jego ręczna instalacja.
Debian / Ubuntu
sudo apt install net-toolsCentOS / RHEL
sudo yum install net-toolsUżywanie netstat do sprawdzania otwartych i nasłuchujących portów
Aby wyświetlić wszystkie nasłuchujące porty TCP i UDP w swoim systemie, uruchom:
sudo netstat -tuln- -t: Pokaż porty TCP
- -u: Pokaż porty UDP
- -l: Pokaż tylko nasłuchujące porty
- -n: Pokaż adresy numeryczne zamiast rozwiązywać nazwy hostów
Zrozumienie wyniku
- Adres lokalny: Adres IP i port, na którym usługa nasłuchuje.
- Adres zdalny: Zdalny adres IP i port dla aktywnych połączeń.
- Stan: Stan połączenia, taki jakdla otwartych portów.
LISTEN
Filtrowanie konkretnych portów lub usług za pomocą netstat
Możesz filtrować wyniki, aby skupić się na konkretnym porcie lub usłudze. Na przykład, aby sprawdzić usługi nasłuchujące na porcie 80 (HTTP):
sudo netstat -tuln | grep ":80"To polecenie wyświetla wszystkie usługi nasłuchujące na porcie 80.
Sprawdzanie portów za pomocą ss
Co to jest ss?
ss to nowoczesne narzędzie, które zastąpiło netstat w wielu dystrybucjach Linuxa. Jest szybsze i bardziej wydajne, szczególnie w systemach z dużą liczbą połączeń sieciowych. Polecenie ss może wyświetlać otwarte porty, statystyki gniazd oraz szczegółowe informacje o sieci.
Używanie ss do sprawdzania otwartych i nasłuchujących portów
Składnia ss jest podobna do netstat. Aby wylistować wszystkie nasłuchujące porty TCP i UDP, uruchom:
ss -tuln- -t: Pokaż gniazda TCP
- -u: Pokaż gniazda UDP
- -l: Pokaż nasłuchujące gniazda
- -n: Wyświetl adresy numeryczne
Wynik dostarcza jasnego przeglądu wszystkich nasłuchujących portów i ich stanów.
Zaawansowane użycie ss
Polecenie ss oferuje zaawansowane opcje filtrowania do bardziej szczegółowej analizy.
Pokaż tylko nasłuchujące porty TCP
ss -tlPokaż tylko nasłuchujące porty UDP
ss -ulPokaż nasłuchujące porty z powiązanymi identyfikatorami procesów
Aby zidentyfikować, który proces używa konkretnego portu, uruchom:
ss -tulnpOpcja -p wyświetla nazwę procesu i PID powiązany z każdym nasłuchującym portem, co jest przydatne w diagnostyce.
Porównanie netstat i ss
Oba narzędzia służą podobnym celom, ale istnieją ważne różnice:
- Wydajność: ss jest szybsze i bardziej wydajne niż netstat, szczególnie w obciążonych systemach.
- Dostępność: ss jest domyślnie dostępne w większości nowoczesnych dystrybucji Linuxa, podczas gdy netstat może wymagać ręcznej instalacji.
- Opcje filtrowania: ss oferuje bardziej zaawansowane możliwości filtrowania i wyświetlania.
Kiedy używać netstat
- Na starszych systemach Linux.
- Jeśli już znasz składnię netstat.
Kiedy używać ss
- Gdy wymagana jest lepsza wydajność.
- Do zaawansowanej analizy sieci i filtrowania.
Inne narzędzia do sprawdzania otwartych portów
Oprócz netstat i ss, inne narzędzia mogą być używane do sprawdzania otwartych i nasłuchujących portów.
Używanie lsof
lsof wyświetla otwarte pliki, w tym gniazda sieciowe. Aby sprawdzić, który proces używa portu 80:
sudo lsof -i :80To polecenie wyświetla procesy przypisane do portu 80.
Używanie nmap
nmap to narzędzie do skanowania sieci, które można wykorzystać do wykrywania otwartych portów w systemie:
sudo nmap -sT localhostTo skanuje porty TCP na lokalnej maszynie.
Podsumowanie
Monitorowanie otwartych i nasłuchujących portów jest kluczowym zadaniem dla administratorów systemów Linux. Narzędzia takie jak netstat i ss ułatwiają identyfikację aktywnych usług, diagnozowanie problemów sieciowych oraz zwiększanie bezpieczeństwa serwera.
Chociaż netstat wciąż jest przydatny w starszych systemach, ss jest preferowanym wyborem dla nowoczesnych środowisk Linuxa ze względu na swoją szybkość i wydajność. Niezależnie od tego, czy zabezpieczasz serwer Linux, czy diagnozujesz zachowanie sieci, te narzędzia zapewniają widoczność potrzebną do skutecznego zarządzania otwartymi portami.
