Waar wordt poort 0 voor gebruikt?

Inhoudsopgave:

Waar wordt poort 0 voor gebruikt?
Waar wordt poort 0 voor gebruikt?
Anonim

Poort 0 heeft een speciale betekenis bij netwerkprogrammering, met name in het Unix-besturingssysteem als het gaat om socketprogrammering waarbij de poort wordt gebruikt om door het systeem toegewezen, dynamische poorten aan te vragen. Poort 0 is een wildcard-poort die het systeem vertelt een geschikt poortnummer te vinden.

In tegenstelling tot de meeste poortnummers, is poort 0 een gereserveerde poort in TCP/IP-netwerken, wat betekent dat het niet mag worden gebruikt in TCP- of UDP-berichten. Netwerkpoorten in TCP en UDP variëren van nul tot 65535. Poortnummers in het bereik van nul tot 1023 worden gedefinieerd als niet-tijdelijke poorten, systeempoorten of bekende poorten. De Internet Assigned Numbers Authority (IANA) houdt een officiële lijst bij van het beoogde gebruik van deze poortnummers op internet en systeempoort 0 mag niet worden gebruikt.

Hoe TCP/UDP-poort 0 werkt in netwerkprogrammering

Image
Image

Voor het configureren van een nieuwe netwerkaansluiting moet één poortnummer worden toegewezen aan zowel de bron- als de bestemmingszijde. TCP- of UDP-berichten die door de afzender (bron) zijn verzonden, bevatten beide poortnummers zodat de ontvanger van het bericht (bestemming) antwoordberichten naar het juiste protocoleindpunt kan sturen.

IANA heeft vooraf aangewezen systeempoorten toegewezen voor standaard internettoepassingen zoals webservers (poort 80), maar veel TCP- en UDP-netwerktoepassingen hebben geen eigen systeempoort en moeten er elke keer dat ze worden uitgevoerd een verkrijgen van het besturingssysteem van hun apparaat.

Om het bronpoortnummer toe te wijzen, roepen toepassingen TCP/IP-netwerkfuncties zoals bind() aan om er een aan te vragen. De applicatie kan een vast (hardgecodeerd) nummer aan bind() leveren als ze liever een specifiek nummer willen aanvragen, maar een dergelijk verzoek kan mislukken omdat een andere applicatie die op het systeem draait het momenteel misschien gebruikt.

Als alternatief kan het poort 0 leveren aan bind() als zijn verbindingsparameter. Dat activeert het besturingssysteem om automatisch een geschikte beschikbare poort in het dynamische TCP/IP-poortnummerbereik te zoeken en terug te sturen.

De toepassing krijgt geen poort 0 maar eerder een andere dynamische poort. Het voordeel van deze programmeerconventie is efficiëntie. In plaats van dat elke applicatie code implementeert en uitvoert om meerdere poorten te proberen totdat ze een geldige hebben, vertrouwen apps op het besturingssysteem.

Unix, Windows en andere besturingssystemen verschillen in de verwerking van poort 0, maar dezelfde algemene conventie is van toepassing.

Poort 0 en netwerkbeveiliging

Netwerkverkeer dat via internet wordt verzonden naar hosts die op poort 0 luisteren, kan worden gegenereerd door netwerkaanvallers of per ongeluk door verkeerd geprogrammeerde applicaties. De responsberichten die hosts genereren als reactie op poort 0-verkeer helpen aanvallers om het gedrag en de mogelijke netwerkkwetsbaarheden van die apparaten te leren kennen.

Veel internetproviders (ISP's) blokkeren verkeer op poort 0, zowel inkomende als uitgaande berichten, om zich tegen deze exploits te beschermen.

FAQ

    Wat zijn poortnummers?

    Poortnummers die worden gebruikt voor TCP/IP-netwerkverbindingen fungeren als adresinformatie en identificeren de afzenders en ontvangers van een bericht. Met poortnummers kunnen verschillende applicaties op hetzelfde netwerk tegelijkertijd bronnen delen.

    Hoe vind ik poortnummers?

    Om het poortnummer van een specifiek IP-adres te vinden, gaat u naar de opdrachtprompt, typt u netstat -a en drukt u vervolgens op Enter. U ziet een lijst met actieve TCP-verbindingen samen met IP-adressen en poortnummers, gescheiden door een dubbele punt.

    Kan ik verbinding maken met poort 0?

    Nee. Officieel bestaat poort 0 niet en kun je er geen verbinding mee maken, omdat het een ongeldig poortnummer is. U kunt echter op dezelfde manier een internetpakket van en naar poort 0 verzenden als met een ander poortnummer.

Aanbevolen: