Portul 0 are o semnificație specială în programarea în rețea, mai ales în sistemele de operare Unix când vine vorba de programare socket, unde acest port este folosit pentru a solicita porturi dinamice, alocate de sistem. Portul 0 este un port wildcard, care spune sistemului să găsească un număr de port potrivit.
Spre deosebire de majoritatea numerelor de porturi, portul 0 este un port rezervat într-o rețea TCP/IP, ceea ce înseamnă că nu este utilizat în mesajele TCP sau UDP. Porturile de rețea în TCP și UDP variază de la 0 la 65535.
Numerele de porturi din intervalul de la 0 la 1023 sunt identificate ca porturi de sistem. Internet Assigned Numbers Authority (IANA) menține o listă oficială a utilizărilor preconizate ale acestor numere de port pe Internet, iar portul de sistem 0 nu trebuie utilizat.
Cum funcționează portul TCP/UDP 0 în programarea în rețea

Portul 0 are o semnificație specială în programarea în rețea
Configurarea unei noi conexiuni la socket de rețea necesită alocarea unui număr de port atât pe partea sursă, cât și pe cea destinație. Mesajul TCP sau UDP trimis de către inițiator (sursă) conține ambele numere de port, astfel încât receptorul mesajului (destinația) să poată emite un mesaj de răspuns către punctul final de protocol corect.
IANA are pre-alocate porturi de sistem desemnate pentru aplicațiile Internet de bază, cum ar fi serverele web (portul 80), dar multe aplicații de rețea TCP și UDP nu au propriul port de sistem și trebuie să obțină unul de la dispozitivele de operare de fiecare dată când rulează. .
Pentru a primi un număr de port sursă, aplicația apelează funcții de rețea TCP/IP, cum ar fi bind() pentru a solicita un port. Aplicația poate furniza un număr fix (codat greu) pentru bind(), dacă dorește să solicite un anumit port, dar o astfel de solicitare poate eșua în cazul în care o altă aplicație rulează pe sistemul care utilizează în prezent acel port.
În plus, aplicația poate furniza portul 0 pentru bind() ca parametru de conexiune. Acest lucru determină sistemul de operare să caute și să returneze automat un port disponibil adecvat în intervalul de numere de port dinamic TCP/IP.
Aplicației nu i se oferă portul 0, ci un alt număr de port dinamic. Avantajul acestei convenții de programare este eficiența. În loc ca fiecare aplicație să fie nevoită să implementeze și să ruleze cod pentru a încerca mai multe porturi până când devine unul valid, aplicațiile se pot baza pe sistemul de operare.
Unix, Windows și alte sisteme de operare nu sunt identice în gestionarea portului 0, dar se aplică aceeași convenție generală.
Portul 0 și problemele de securitate ale rețelei
Traficul de rețea trimis prin Internet către serverele care ascultă pe portul 0 poate fi generat de atacatori cibernetici sau de aplicații programate incorect. Mesajele pe care serverul le generează ca răspuns la traficul portului 0 îi ajută pe atacatori să învețe despre comportamentul dispozitivului respectiv și despre potențialele vulnerabilități ale rețelei.
Mulți furnizori de servicii de internet (ISP) blochează traficul pe portul 0 - atât mesajele de intrare, cât și cele de ieșire - pentru a se proteja împotriva acestor exploatări.