Na čo sa používa port 0?

Obsah:

Na čo sa používa port 0?
Na čo sa používa port 0?
Anonim

Port 0 má osobitný význam v sieťovom programovaní, najmä v operačnom systéme Unix, pokiaľ ide o programovanie soketov, kde sa port používa na vyžiadanie dynamických portov pridelených systémom. Port 0 je zástupný port, ktorý hovorí systému, aby našiel vhodné číslo portu.

Na rozdiel od väčšiny čísel portov je port 0 rezervovaný port v sieťach TCP/IP, čo znamená, že by sa nemal používať v správach TCP alebo UDP. Sieťové porty v TCP a UDP sa pohybujú od čísla nula do 65535. Čísla portov v rozsahu od nuly do 1023 sú definované ako neefemérne porty, systémové porty alebo dobre známe porty. Internet Assigned Numbers Authority (IANA) vedie oficiálny zoznam zamýšľaného použitia týchto čísel portov na internete a systémový port 0 sa nemá používať.

Ako funguje TCP/UDP port 0 v sieťovom programovaní

Image
Image

Konfigurácia nového pripojenia k sieťovej zásuvke vyžaduje pridelenie jedného čísla portu na zdrojovej aj cieľovej strane. Správy TCP alebo UDP odoslané pôvodcom (zdrojom) obsahujú obe čísla portov, takže príjemca správy (cieľ) môže odosielať správy s odpoveďou na správny koncový bod protokolu.

IANA vopred pridelila určené systémové porty pre základné internetové aplikácie, ako sú webové servery (port 80), ale mnohé sieťové aplikácie TCP a UDP nemajú vlastný systémový port a musia ho získať z operačného systému svojho zariadenia pri každom spustení.

Na pridelenie čísla zdrojového portu aplikácie volajú sieťové funkcie TCP/IP, ako je bind(), aby si ho vyžiadali. Aplikácia môže poskytnúť fixné (pevne zakódované) číslo pre bind(), ak uprednostňuje vyžiadanie konkrétneho čísla, ale takáto požiadavka môže zlyhať, pretože ho môže aktuálne používať iná aplikácia spustená v systéme.

Alternatívne môže poskytnúť port 0 pre bind() ako parameter pripojenia. To spustí operačný systém, aby automaticky vyhľadal a vrátil vhodný dostupný port v rozsahu dynamických čísel portov TCP/IP.

Aplikácii nie je pridelený port 0, ale iný dynamický port. Výhodou tejto programovacej konvencie je efektívnosť. Namiesto toho, aby každá aplikácia implementovala a spúšťala kód na vyskúšanie viacerých portov, kým nezískajú platný, aplikácie sa spoliehajú na operačný systém.

Unix, Windows a ďalšie operačné systémy sa líšia v zaobchádzaní s portom 0, ale platia rovnaké všeobecné pravidlá.

Port 0 a zabezpečenie siete

Sieťová prevádzka odosielaná cez internet hostiteľom počúvajúcim na porte 0 môže byť generovaná sieťovými útočníkmi alebo náhodne nesprávne naprogramovanými aplikáciami. Správy s odpoveďou, ktoré hostitelia generujú v reakcii na prevádzku portu 0, pomáhajú útočníkom spoznať správanie a potenciálne sieťové zraniteľnosti týchto zariadení.

Mnohí poskytovatelia internetových služieb (ISP) blokujú prevádzku na porte 0, prichádzajúce aj odchádzajúce správy, aby sa ochránili pred týmito zneužitiami.

FAQ

    Čo sú čísla portov?

    Čísla portov používané pre sieťové pripojenia TCP/IP fungujú ako informácie o adrese, ktoré identifikujú odosielateľov a príjemcov správy. Čísla portov umožňujú rôznym aplikáciám v rovnakej sieti zdieľať zdroje súčasne.

    Ako nájdem čísla portov?

    Ak chcete nájsť číslo portu konkrétnej IP adresy, prejdite do príkazového riadka, zadajte netstat -a a stlačte Enter. Zobrazí sa zoznam aktívnych pripojení TCP spolu s adresami IP a číslami portov oddelených dvojbodkou.

    Môžem sa pripojiť k portu 0?

    Nie. Port 0 oficiálne neexistuje a nemôžete sa k nemu pripojiť, pretože ide o neplatné číslo portu. Internetový paket však môžete poslať na az portu 0 rovnakým spôsobom ako s iným číslom portu.

Odporúča: