Sieć i bezpieczeństwo Podstawowy+ 45 min

Porty i usługi sieciowe

Poznasz rolę portów, podstawową różnicę między TCP i UDP oraz komendy do sprawdzania, które usługi nasłuchują w systemie.

Wróć do listy lekcji

1. Krótka teoria

Adres IP wskazuje hosta, a port wskazuje konkretną usługę na tym hoście. Dzięki temu jeden serwer może jednocześnie obsługiwać SSH, DNS i stronę WWW. Port 22 jest typowo używany przez SSH, 53 przez DNS, 80 przez HTTP, a 443 przez HTTPS. TCP to protokół połączeniowy, który sprawdza dostarczenie danych i jest używany między innymi przez SSH oraz HTTPS. UDP jest prostszy i bezpołączeniowy, często używany tam, gdzie liczy się szybkość lub krótkie zapytania, na przykład w DNS. Port nasłuchujący oznacza, że proces czeka na połączenia lub datagramy. Nie oznacza jednak automatycznie, że cała aplikacja działa poprawnie. Komenda ss pokazuje gniazda sieciowe, lsof pomaga powiązać port z procesem, a nc pozwala wykonać prosty test połączenia. W praktyce diagnozę zaczyna się od pytania: czy usługa działa, czy nasłuchuje na właściwym adresie i porcie, czy firewall nie blokuje ruchu oraz czy aplikacja odpowiada zgodnie z oczekiwaniem.

2. Przykłady komend

ss -tuln

Pokazuje nasłuchujące porty TCP i UDP w formie numerycznej.

$ ss -tuln
ss -tulpn

Pokazuje porty wraz z procesami, jeśli użytkownik ma odpowiednie uprawnienia.

$ sudo ss -tulpn
ss -tn

Pokazuje aktywne połączenia TCP.

$ ss -tn
sudo lsof -iTCP -sTCP:LISTEN -P -n

Wyświetla procesy nasłuchujące na portach TCP bez zamiany numerów na nazwy.

$ sudo lsof -iTCP -sTCP:LISTEN -P -n
nc -vz example.com 443

Sprawdza, czy można nawiązać połączenie TCP z portem 443.

$ nc -vz example.com 443
nc -vzu 1.1.1.1 53

Wykonuje podstawowy test UDP portu 53, którego wynik wymaga ostrożnej interpretacji.

$ nc -vzu 1.1.1.1 53

3. Zadanie praktyczne

Wykonaj ss -tuln i odszukaj lokalne porty nasłuchujące. Jeśli masz uprawnienia, uruchom sudo ss -tulpn oraz sudo lsof -iTCP -sTCP:LISTEN -P -n, aby powiązać porty z procesami. Następnie sprawdź zdalny port HTTPS przez nc -vz example.com 443. Zapisz, czym różni się port nasłuchujący lokalnie od testu połączenia do portu na zdalnym serwerze.

4. Typowe błędy

  • Mylenie adresu IP z portem usługi.
  • Zakładanie, że otwarty port oznacza poprawną odpowiedź aplikacji.
  • Pomijanie różnicy między TCP i UDP podczas diagnozy.
  • Używanie ss bez opcji -n i mylenie nazw usług z numerami portów.
  • Sprawdzanie tylko firewalla bez potwierdzenia, że proces naprawdę nasłuchuje.
  • Nadmierne zaufanie do testów UDP, które nie zawsze dają jednoznaczną odpowiedź.

5. Podsumowanie

Port wskazuje usługę na hoście. SSH zwykle używa portu 22, DNS 53, HTTP 80, a HTTPS 443. TCP jest połączeniowy, UDP bezpołączeniowy. ss, lsof i nc pomagają sprawdzić nasłuchiwanie, procesy i podstawową dostępność portów.

Flow nauki
  1. Teoria
  2. Przykład
  3. Ćwiczenie
  4. Quiz
  5. Praktyka
  6. Podsumowanie