Portul 0 are o semnificație specială în programarea în rețea, în special în sistemul de operare Unix când vine vorba de programarea socket-ului, unde portul este folosit pentru a solicita porturi dinamice alocate de sistem. Portul 0 este un port wildcard care îi spune sistemului să găsească un număr de port adecvat.
Spre deosebire de majoritatea numerelor de porturi, portul 0 este un port rezervat în rețelele TCP/IP, ceea ce înseamnă că nu ar trebui să fie utilizat în mesajele TCP sau UDP. Porturile de rețea în TCP și UDP variază de la numărul zero până la 65535. Numerele de porturi cuprinse între zero și 1023 sunt definite ca porturi neefemere, porturi de sistem sau porturi binecunoscute . Internet Assigned Numbers Authority (IANA) menține un listare oficiala de utilizarea prevăzută a acestor numere de porturi pe internet, iar portul de sistem 0 nu trebuie utilizat.
cum să vezi cine ți-a abonat pe YouTube
Cum funcționează portul TCP/UDP 0 în programarea în rețea
Jetta Productions / Getty Images
Configurarea unei noi conexiuni la socket de rețea necesită alocare un număr de port atât pe partea sursă, cât și pe cea destinație. Mesajele TCP sau UDP trimise de emitent (sursă) conțin ambele numere de port, astfel încât destinatarul mesajului (destinația) să poată emite mesaje de răspuns către punctul final de protocol corect.
IANA a prealocat porturi de sistem desemnate pentru aplicațiile de 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 dispozitivul lor. sistem de operare de fiecare dată când fug.
cum să trimiteți mesaje ca pagină pe facebook
Pentru a-și aloca numărul portului sursă, aplicațiile apelează funcții de rețea TCP/IP precum bind() pentru a solicita unul. Aplicația poate furniza un număr fix (codat greu) pentru bind() dacă preferă să solicite un anumit număr, dar o astfel de solicitare poate eșua deoarece o altă aplicație care rulează pe sistem o poate folosi în prezent.
Alternativ, poate furniza portul 0 la bind() ca parametru de conexiune. Aceasta determină sistemul de operare să caute și să returneze automat un port disponibil adecvat în intervalul de numere de porturi dinamice TCP/IP.
Aplicației nu i se acordă portul 0, ci mai degrabă un alt port dinamic. Avantajul acestei convenții de programare este eficiența. În loc ca fiecare aplicație să implementeze și să ruleze cod pentru a încerca mai multe porturi până când obține unul valid, aplicațiile se bazează pe sistemul de operare.
Unix, Windows și alte sisteme de operare variază în ceea ce privește gestionarea portului 0, dar se aplică aceeași convenție generală.
aplicații de livrare a alimentelor care iau numerar
Portul 0 și securitatea rețelei
Traficul de rețea trimis pe internet către gazdele care ascultă pe portul 0 poate fi generat de atacatori de rețea sau accidental de aplicații programate incorect. Mesajele de răspuns pe care gazdele le generează ca răspuns la traficul portului 0 îi ajută pe atacatori să învețe comportamentul și potențialele vulnerabilități ale rețelei respectivelor dispozitive.
Mulți furnizorii de servicii de internet (ISP-urile) 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.
FAQ- Ce sunt numerele de port?
Numerele de port utilizate pentru conexiunile de rețea TCP/IP acționează ca informații despre adresă, identificând expeditorii și receptorii unui mesaj. Numerele de port permit diferitelor aplicații din aceeași rețea să partajeze resurse în același timp.
- Cum găsesc numerele de port?
Pentru a găsi numărul de port al unei anumite adrese IP, accesați promptul de comandă , tip netstat -a , apoi apăsați introduce . Veți vedea o listă de conexiuni TCP active împreună cu adrese IP și numere de porturi separate prin două puncte.
- Mă pot conecta la portul 0?
Nu. Oficial, portul 0 nu există și nu vă puteți conecta la el, deoarece este un număr de port nevalid. Cu toate acestea, puteți trimite un pachet de internet către și de la portul 0 la fel ca și cu un alt număr de port.