Jak sprawdzić połączenia sieciowe za pomocą netstat w Linux?

Co to jest netstat?

Netstat (network statistics) to potężne narzędzie w systemach Linux, które pozwala na monitorowanie i analizowanie połączeń sieciowych. Umożliwia użytkownikom wyświetlanie informacji o aktywnych połączeniach sieciowych, tabelach routingu, statystykach interfejsów oraz wielu innych aspektach związanych z siecią.

Podstawowe użycie netstat

Aby rozpocząć korzystanie z netstat, wystarczy otworzyć terminal i wpisać polecenie netstat. Domyślnie, netstat wyświetla listę wszystkich aktywnych połączeń TCP. Oto kilka podstawowych opcji, które można użyć z netstat:

  • netstat -a – wyświetla wszystkie połączenia i porty nasłuchujące.
  • netstat -t – wyświetla tylko połączenia TCP.
  • netstat -u – wyświetla tylko połączenia UDP.
  • netstat -n – wyświetla adresy IP i numery portów w formie numerycznej.
  • netstat -p – wyświetla identyfikatory procesów (PID) i nazwy programów.

Przykłady użycia netstat

Przyjrzyjmy się kilku przykładom użycia netstat w praktyce:

Wyświetlanie wszystkich połączeń sieciowych

Aby wyświetlić wszystkie połączenia sieciowe, użyj polecenia:

netstat -a

To polecenie wyświetli listę wszystkich aktywnych połączeń oraz portów nasłuchujących na twoim systemie.

Wyświetlanie połączeń TCP

Aby wyświetlić tylko połączenia TCP, użyj polecenia:

netstat -t

To polecenie jest przydatne, gdy chcesz skupić się tylko na połączeniach TCP, które są bardziej powszechne w komunikacji sieciowej.

Wyświetlanie połączeń z identyfikatorami procesów

Aby wyświetlić połączenia wraz z identyfikatorami procesów (PID) i nazwami programów, użyj polecenia:

sudo netstat -p

To polecenie jest szczególnie przydatne, gdy chcesz zidentyfikować, który proces jest odpowiedzialny za dane połączenie sieciowe.

Analiza wyników netstat

Wyniki netstat mogą dostarczyć wielu cennych informacji. Oto kilka kluczowych elementów, na które warto zwrócić uwagę:

  • Proto: Protokół używany przez połączenie (TCP, UDP).
  • Recv-Q: Liczba bajtów oczekujących na odbiór.
  • Send-Q: Liczba bajtów oczekujących na wysłanie.
  • Local Address: Lokalny adres IP i port.
  • Foreign Address: Zdalny adres IP i port.
  • State: Stan połączenia (np. ESTABLISHED, LISTEN).

Przykładowa analiza

Rozważmy przykładowy wynik polecenia netstat -t:


Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 192.168.1.100:22        192.168.1.101:54321     ESTABLISHED
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN

W powyższym przykładzie widzimy dwa połączenia:

  • Połączenie TCP na porcie 22 (SSH) z adresem 192.168.1.101:54321, które jest w stanie ESTABLISHED.
  • Serwer nasłuchujący na porcie 80 (HTTP), który jest gotowy do przyjmowania połączeń.

Porównanie z innymi narzędziami

Netstat nie jest jedynym narzędziem do monitorowania połączeń sieciowych w Linuxie. Oto porównanie netstat z innymi popularnymi narzędziami:

Narzędzie Zalety Wady
netstat Proste w użyciu, szeroko dostępne Brak wsparcia dla IPv6 w niektórych wersjach
ss Szybsze, wsparcie dla IPv6 Mniej intuicyjne dla początkujących
lsof Wyświetla otwarte pliki i gniazda Wymaga więcej zasobów systemowych

Podsumowanie

Netstat to niezwykle przydatne narzędzie dla administratorów systemów i sieci, które pozwala na monitorowanie i analizowanie połączeń sieciowych w systemach Linux. Dzięki różnorodnym opcjom i możliwościom, netstat umożliwia uzyskanie szczegółowych informacji o aktywnych połączeniach, co może być kluczowe w diagnozowaniu problemów sieciowych i zarządzaniu zasobami systemowymi. Warto również znać inne narzędzia, takie jak ss czy lsof, które mogą oferować dodatkowe funkcje i możliwości.

Leave a Comment

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top