Hva brukes port 0 til?

Innholdsfortegnelse:

Hva brukes port 0 til?
Hva brukes port 0 til?
Anonim

Port 0 har spesiell betydning i nettverksprogrammering, spesielt i Unix OS når det kommer til socket-programmering der porten brukes til å be om systemallokerte, dynamiske porter. Port 0 er en jokertegnport som forteller systemet å finne et passende portnummer.

I motsetning til de fleste portnumre, er port 0 en reservert port i TCP/IP-nettverk, noe som betyr at den ikke skal brukes i TCP- eller UDP-meldinger. Nettverksporter i TCP og UDP varierer fra nummer null opp til 65535. Portnumre i området mellom null og 1023 er definert som ikke-flyktige porter, systemporter eller kjente porter. Internet Assigned Numbers Authority (IANA) opprettholder en offisiell liste over tiltenkt bruk av disse portnumrene på internett, og systemport 0 skal ikke brukes.

Hvordan TCP/UDP-port 0 fungerer i nettverksprogrammering

Image
Image

Konfigurering av en ny nettverkskontakt krever at ett portnummer tildeles både på kilde- og destinasjonssiden. TCP- eller UDP-meldinger sendt av opphavsmannen (kilden) inneholder begge portnumrene slik at meldingsmottakeren (destinasjonen) kan sende svarmeldinger til riktig protokollendepunkt.

IANA har forhåndstildelt utpekte systemporter for grunnleggende internettapplikasjoner som webservere (port 80), men mange TCP- og UDP-nettverksapplikasjoner har ikke sin egen systemport og må hente en fra enhetens operativsystem hver gang de kjører.

For å tildele kildeportnummeret kaller applikasjoner TCP/IP-nettverksfunksjoner som bind() for å be om en. Applikasjonen kan gi et fast (hardkodet) nummer til bind() hvis de foretrekker å be om et spesifikt nummer, men en slik forespørsel kan mislykkes fordi en annen applikasjon som kjører på systemet for øyeblikket bruker den.

Alternativt kan den gi port 0 til bind() som tilkoblingsparameter. Dette utløser operativsystemet til automatisk å søke etter og returnere en passende tilgjengelig port i TCP/IP dynamisk portnummerområde.

Applikasjonen har ikke port 0, men en annen dynamisk port. Fordelen med denne programmeringskonvensjonen er effektivitet. I stedet for at hver applikasjon implementerer og kjører kode for å prøve flere porter til de får en gyldig, er appene avhengige av operativsystemet.

Unix, Windows og andre operativsystemer varierer i håndteringen av port 0, men den samme generelle konvensjonen gjelder.

Port 0 og nettverkssikkerhet

Nettverkstrafikk som sendes over internett til verter som lytter på port 0, kan genereres fra nettverksangripere eller ved et uhell av programmer som er feil programmert. Svarmeldingene som vertene genererer som svar på port 0-trafikk hjelper angripere å lære oppførselen og potensielle nettverkssårbarheter til disse enhetene.

Mange Internett-leverandører (ISP-er) blokkerer trafikk på port 0, både innkommende og utgående meldinger, for å beskytte seg mot disse utnyttelsene.

FAQ

    Hva er portnumre?

    Portnumre som brukes for TCP/IP-nettverkstilkoblinger fungerer som adresseinformasjon, og identifiserer en meldings avsendere og mottakere. Portnumre lar ulike applikasjoner på samme nettverk dele ressurser samtidig.

    Hvordan finner jeg portnumre?

    For å finne portnummeret til en spesifikk IP-adresse, gå til ledeteksten, skriv netstat -a, og trykk deretter Enter. Du vil se en liste over aktive TCP-tilkoblinger sammen med IP-adresser og portnumre atskilt med et kolon.

    Kan jeg koble til port 0?

    Nei. Offisielt eksisterer ikke port 0, og du kan ikke koble til den, siden det er et ugyldig portnummer. Du kan imidlertid sende en internettpakke til og fra port 0 på samme måte som med et annet portnummer.

Anbefalt: