Port sieciowy to liczba od 0 do 65535, która identyfikuje konkretną usługę lub aplikację działającą na urządzeniu. Sam adres IP mówi, do której maszyny ma dotrzeć pakiet, ale to port decyduje, do której aplikacji na tej maszynie. Dzięki temu jeden serwer może jednocześnie obsługiwać stronę WWW na porcie 443, pocztę na 25 i bazę danych na 5432 bez żadnego konfliktu.
Jak to działa i do czego służy
Port jest częścią warstwy transportowej — używają go protokoły TCP i UDP. Pełny adres połączenia to para IP:port, np. 192.168.1.10:443 (nazywa się to socket). Gdy przeglądarka łączy się ze stroną, sama wybiera losowy, wysoki port źródłowy (tzw. ephemeral, zwykle z zakresu 49152–65535) i puka na port docelowy serwera. Serwer wie, gdzie odesłać odpowiedź, bo zna tę parę.
Porty dzielą się umownie na trzy grupy: well-known (0–1023, np. 80, 443, 22 — przypisane przez IANA), registered (1024–49151) oraz dynamiczne/prywatne (49152–65535). Numer poniżej 1024 na systemach uniksowych zwykle wymaga uprawnień roota — dlatego aplikacje deweloperskie startują na 3000 albo 8080, a nie na 80.
Przykład z praktyki
Chcesz sprawdzić, co nasłuchuje na twojej maszynie. W Linuksie odpalasz:
ss -tlnp
Zobaczysz listę portów w stanie LISTEN razem z procesami. Jeśli serwer ma stać, a port milczy, sprawdzasz dostępność z zewnątrz przez nmap -p 443 example.com albo szybciej nc -zv example.com 443. Klasyk: aplikacja działa, ale „nie da się wejść” — bo firewall blokuje port, albo usługa nasłuchuje na 127.0.0.1 zamiast 0.0.0.0.
Częste błędy i mity
- „Port jest otwarty = bezpiecznie” — otwarty port to drzwi. Im mniej otwartych, tym mniejsza powierzchnia ataku.
- Mylenie portu z protokołem — HTTPS zwykle chodzi na 443, ale możesz postawić go na dowolnym porcie. Numer to konwencja, nie żelazna reguła.
- „Address already in use” — najpopularniejszy błąd juniora: dwie aplikacje chcą ten sam port. Tylko jeden proces może nasłuchiwać na danym porcie naraz.
- Port TCP
53i UDP53to dwa różne porty — protokół ma znaczenie.
Pojęcia powiązane
Adres IP, socket, protokoły TCP i UDP, firewall, NAT i port forwarding, DNS, model TCP/IP oraz numery portów przypisywane przez IANA.