Co je port 0 používán?

Port 0 není skutečné číslo portu, ale je zde účel

Na rozdíl od většiny čísel portů je port 0 vyhrazený port v síti TCP / IP , což znamená, že by se neměl používat v TCP nebo UDP zprávách.

Port 0 nese zvláštní význam pro programování v síti , zejména programování soketů Unix, pro vyžádání dynamických portů přidělených systémem. Portová nula je jako zástupný port, který informuje systém o nalezení vhodného čísla portu.

Síťové porty v rozsahu TCP a UDP od nuly až po 65535. Čísla portů v rozmezí mezi nulami a 1023 jsou definována jako systémové porty nebo známé porty. Úřad internetových přiřazených čísel (IANA) udržuje oficiální seznam zamýšleného použití těchto čísel portů na internetu a systémový port 0 se nepoužívá.

Jak port 0 pracuje v síťovém programování

Konfigurace nového síťového připojení soketu vyžaduje, aby bylo přiděleno jedno číslo portu jak na zdrojové, tak na cílové straně. Zprávy TCP nebo UDP odeslané původcem (zdroj) obsahují obě čísla portů tak, aby příjemce zprávy (cíl) mohl vygenerovat zprávy odpovědi na správný koncový bod protokolu.

IANA má předem přidělené označ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á vlastní systémový port a musí získat vždy jeden z operačního systému svého zařízení při každém spuštění.

Chcete-li přidělit číslo zdrojového portu, volání aplikací volá síťové funkce TCP / IP jako bind () a požádejte o jednu. Aplikace může poskytnout pevné (pevně zakódované) číslo pro vázání (), pokud upřednostňuje požadavek na konkrétní číslo, ale taková žádost může selhat, protože v současné době ji může používat nějaká jiná běžící aplikace v systému.

Alternativně může místo toho poskytnout port 0 pro vazbu () jako parametr připojení. To způsobí, že operační systém automaticky vyhledá a vrátí vhodný dostupný port v rozsahu čísel dynamického portu TCP / IP.

Všimněte si, že aplikace nebude ve skutečnosti poskytovat port 0, ale spíše jiný dynamický port. Výhodou této konvence programování je účinnost. Namísto toho, aby každá aplikace musel implementovat a spustit kód pro zkoušení více portů, dokud nezíská platný kód, aplikace se mohou na operačním systému spoléhat.

Unix, Windows a jiné operační systémy se mírně liší při manipulaci s portem 0, ale platí stejná obecná úmluva.

Port 0 a zabezpečení sítě

Síťový provoz odesílaný přes internet hostitelům, kteří naslouchají na portu 0, mohou být generováni od síťových útočníků nebo náhodou nesprávně naprogramovanými aplikacemi. Zprávy o odezvách, které hostitelé generují v reakci na provoz portu 0, mohou útočníkům pomoci dozvědět se více o chování a možných síťových zranitelnostech těchto zařízení.

Mnoho poskytovatelů internetových služeb (ISP) zablokuje provoz na portu 0 (příchozí i odchozí zprávy), které jim pomáhají chránit před těmito podvody.