Skip to content

Na co se používá port 0?

22 de Červen de 2021
GettyImages 672157229 5a7e8e40ba6177003622232f

Port 0 má v síťovém programování zvláštní význam, zejména v operačním systému Unix, pokud jde o programování soketů, kde se port používá k vyžádání dynamických portů přidělených systémem. Port 0 je zástupný port, který systému říká, aby našel vhodné číslo portu. Na rozdíl od většiny čísel portů je port 0 v sítích TCP / IP vyhrazeným portem, což znamená, že by neměl být používán ve zprávách TCP nebo UDP. Síťové porty v TCP a UDP se pohybují v rozmezí od nuly do 65535. Čísla portů v rozmezí od 0 do 1023 jsou definována jako neomezené porty, systémové porty nebo známé porty. Autorita IANA (Internet Assigned Numbers Authority) udržuje oficiální seznam zamýšleného použití těchto čísel portů na internetu a systémový port 0 se nemá používat.

Jak TCP / UDP port 0 funguje v síťovém programování

Konfigurace nového připojení k síťové zásuvce vyžaduje, aby bylo na straně zdroje i cíle přiděleno jedno číslo portu. Zprávy TCP nebo UDP odeslané původcem (zdrojem) obsahují obě čísla portů, aby příjemce zprávy (cíl) mohl vydávat zprávy s odezvou na správný koncový bod protokolu. IANA předem určila určené systémové porty pro základní internetové aplikace, jako jsou webové servery (port 80), ale mnoho síťových aplikací TCP a UDP nemá svůj vlastní systémový port a musí je při každém spuštění získat z operačního systému svého zařízení. Chcete-li přidělit číslo svého zdrojového portu, aplikace volají síťové funkce TCP / IP, jako je bind (), aby o ně požádaly. Aplikace může dodat pevné (pevně zakódované) číslo na bind (), pokud si přeje požádat o konkrétní číslo, ale takový požadavek může selhat, protože ho aktuálně může používat jiná aplikace spuštěná v systému. Alternativně může poskytnout port 0 pro bind () jako svůj parametr připojení. To spustí operační systém, aby automaticky vyhledal a vrátil vhodný dostupný port v rozsahu dynamických čísel portů TCP / IP. Aplikaci není udělen port 0, ale spíše nějaký jiný dynamický port. Výhodou této programovací konvence je efektivita. Místo toho, aby každá aplikace implementovala a spustila kód, aby vyzkoušela více portů, dokud nezíská platný, se aplikace spoléhají na operační systém. Unix, Windows a další operační systémy se při zpracování portu 0 liší, ale platí stejná obecná konvence.

Port 0 a zabezpečení sítě

Síťový provoz odesílaný přes internet hostitelům naslouchajícím na portu 0 může být generován síťovými útočníky nebo náhodně nesprávně naprogramovanými aplikacemi. Zprávy odpovědí, které hostitelé generují v reakci na provoz na portu 0, pomáhají útočníkům naučit se chování a potenciální zranitelnosti sítě těchto zařízení. Mnoho poskytovatelů internetových služeb blokuje provoz na portu 0 – příchozí i odchozí zprávy – aby se chránili před těmito zneužití.