Port (datornätverk)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 31 mars 2022; kontroller kräver 44 redigeringar .

Port ( engelsk  port ) är ett icke-negativt heltal skrivet i rubrikerna för protokollen för transportlagret för OSI -nätverksmodellen ( TCP , UDP , SCTP , DCCP ).

Beskrivning

På en värd som kör ett operativsystem för användarutrymme finns det vanligtvis flera processer som körs , var och en kör ett program . Om flera program använder ett datornätverk får operativsystemet regelbundet över nätverket ett IP-paket avsett för ett av programmen.

Processen för ett program som vill kommunicera över ett nätverk kan (till exempel när du skapar en socket ):

Data utbyts över nätverket mellan två processer med ett specifikt protokoll . För att upprätta en anslutning behöver du:

Porten för avsändaren (källan) processen kan fixeras (statisk) eller tilldelas dynamiskt för varje ny kommunikationssession.

Vid anslutning via TCP används porten för sändningsprocessen:

När du ansluter via UDP-protokollet är det tillåtet att ange siffran noll istället för porten för sändningsprocessen, vilket betyder "porten är inte specificerad".

Vid anslutning via SCTP- protokollet inom föreningen kan följande användas:

Eftersom den sändande värdens IP-adress och portnumret för sändningsprocessen är analoga med returadressen som är skriven på postkuvert (så att mottagaren kan skicka ett svar till avsändaren), hänvisas ibland till portnumret för sändningsprocessen. som "omvänd" port.

Om en process på en värd konsekvent använder samma portnummer (till exempel kan en process i ett webbserverprogram använda port 80 för att skicka och ta emot data), sägs porten vara "öppen".

Termerna "öppen port" och "stängd port" (blockerad) används också när det gäller filtrering av nätverkstrafik .

Om en process har tagit emot ett portnummer från operativsystemet ("öppnat en port") och "håller den öppen" för att ta emot och överföra data, sägs processen vara "lyssnande" ( vardagligt lyssnar , från engelska  lyssna ) port.

Vanligtvis är processen för programmet som implementerar servern för något protokoll engagerad i att lyssna på porten. Processen med ett program som implementerar en klient för samma protokoll tillåter ofta operativsystemet att specificera portnumret för att ansluta till servern.

Om värden tar emot paketet kallas porten för avsändarprocessen "remote" ( eng.  remote ) port eller "öppna på en annan värd ", och porten för mottagningsprocessen kallas "lokal" port, dvs. , öppen på den aktuella värden. Om värden skickade ett paket kallas porten för sändningsprocessen den "lokala" porten (öppnad på den aktuella värden ), och porten för mottagningsprocessen kallas "fjärrporten" (öppnad på en annan värd ).

Portnummer för applikationslagerprotokoll av TCP/IP- modellen ( HTTP , SSH , etc.) tilldelas vanligtvis av IANA - organisationen ( engelsk  internet a ssigned numbers a uthority ) . Men i praktiken kan portnummer av säkerhetsskäl väljas godtyckligt.

Termen "port" används oftast i förhållande till TCP- och UDP-protokollen grund av dessa protokolls popularitet. SCTP- och DCCP -protokollen använder nummer som motsvarar "portnummer"-konceptet för TCP- och UDP-protokollen.

I TCP- och UDP - protokollhuvudena är 16 -bitarsfält tilldelade för att lagra portnummer . För TCP- protokollet är portnummer 0 reserverat och kan inte användas. För UDP är det valfritt att ange porten för sändningsprocessen (den "omvända" porten), och portnummer 0 betyder ingen port. Således är portnumret ett tal i intervallet från 1 till 2 16 -1=65535 .

Portexempel

E -post (e-post)

Processerna för program som implementerar följande protokoll körs på servern :

Processen för ett program som implementerar SMTP- protokollet "lyssnar" vanligtvis på TCP- port nummer 25 (kort sagt: "tcp/25").

Processen för ett program som implementerar POP- protokollet "lyssnar" vanligtvis på TCP- port nummer 110 (kort: "tcp/110").

Processer kan köras på samma värd (dator). Definitionen av en specifik process utförs av portnumret.

Processen för ett klientprogram som vill ansluta till en server för att skicka (SMTP) eller ta emot (POP eller IMAP) e-post erhåller vanligtvis ett portnummer dynamiskt .

DHCP

I vissa fall är det obligatoriskt att använda kända portnummer.

Till exempel, för att få en IP-adress via DHCP , skickar en klientprocess ett datagram via UDP från port 68 ( porten för sändningsprocessen) till port 67 (porten för den mottagande processen).

Användning i webbadresser

Portnummer kan anges i webbadresser ( URL ) eller andra resursidentifierare som finns tillgängliga på datornätverk ( URI ). Som standard använder HTTP port 80 och HTTPS använder port  443. En URL som http://www.example.com:8080/path/ indikerar att webbresursen betjänas av en webbserver på port 8080.

Hamnstater

Du kan ta reda på antalet aktiva (utfärdade till processer av operativsystemet) portar för transportlagerprotokoll i många operativsystem ( Windows , Unix-liknande ) med hjälp av verktygen netstatoch nmap(i UNIX OS och Linux OS ).

netstatHamntillstånden som visas av och verktyg nmapvisas i tabellen.

Hamnstat [1] Beskrivning
Öppnade eller lyssnade på ( engelska  öppna eller lyssna ) Programmet - servern är redo att acceptera anslutningar från program - klienter ("lyssnar" på porten)
Filtrerad ( engelska  filtrerad ) Det går inte att avgöra om porten är öppen eller stängd, möjligen på grund av en brandvägg eller annan orsak
stängt _  _ _ OS har ännu inte utfärdat ett portnummer till någon process , men det kan göra det när som helst

Portnummer

TCP-portar överlappar inte med UDP-portar: TCP-port 1234 kommer inte att störa UDP-kommunikation över port 1234.

På de flesta UNIX-liknande operativsystem kräver att lyssna på portarna 0-1023 speciella privilegier ( root ). Andra portnummer ges av operativsystemet till de första processerna som begär dem.

Vissa populära trafiksniffarprogram (till exempel Wireshark ) och nätverksbrandväggar använder allmänt accepterade portnummerbeteckningar för att fastställa dataöverföringsprotokollet , vilket inte alltid är korrekt. I vissa fall använder nätverkstjänster icke-standardiserade portnummer eller använder portnummer för andra ändamål än det avsedda syftet. Till exempel finns det kända fall av Internetleverantörer som startar SMTP- servrar på portar 2525 (istället för 25) för att säkerställa säkerheten för sina användare. Specialiserade webbplatser, som administrativa webbgränssnitt , fungerar ofta på andra portar än standard 80 och 443.

Se även

Anteckningar

  1. nmap - Port Scanner Arkiverad 23 juli 2015 på Wayback Machine // uCoz Publicerad 6 maj 2011.