Skip to main content

Jaki cel ma port TCP / UDP 0?

12 błędów, które popełniasz podczas ładowania telefonu (Może 2024)

12 błędów, które popełniasz podczas ładowania telefonu (Może 2024)
Anonim

W przeciwieństwie do większości numerów portów, port 0 jest zarezerwowanym portem w sieciach TCP / IP, co oznacza, że ​​nie powinien być używany w komunikatach TCP lub UDP.

Port 0 ma szczególne znaczenie w programowaniu sieciowym, szczególnie w systemie Unix OS, jeśli chodzi o programowanie gniazd, w którym port jest używany do żądania przydzielonych przez system portów dynamicznych. Port 0 jest jak port wieloznaczny, który mówi systemowi, aby znalazł odpowiedni numer portu.

Porty sieciowe w TCP i UDP mieszczą się w zakresie od zera do 65535. Numery portów w zakresie od zera do 1023 są zdefiniowane jako porty systemowe lub dobrze znane porty. Urząd IANA (Internet Assigned Numbers Authority) oficjalnie wymienia planowane użycie tych numerów portów w Internecie, a port systemowy 0 nie jest używany.

Jak port 0 działa w programowaniu sieci

Konfiguracja nowego gniazda sieciowego wymaga przydzielenia jednego numeru portu zarówno po stronie źródłowej, jak i docelowej. Komunikaty TCP lub UDP wysyłane przez nadawcę (źródło) zawierają oba numery portów, dzięki czemu odbiorca wiadomości (miejsce docelowe) może wysyłać komunikaty odpowiedzi do właściwego punktu końcowego protokołu.

IANA uprzednio wyznaczyła wyznaczone porty systemowe dla podstawowych aplikacji internetowych, takich jak serwery WWW (port 80), ale wiele aplikacji sieciowych TCP i UDP nie ma własnego portu systemowego i musi je uzyskać z systemu operacyjnego urządzenia za każdym razem, gdy zaczną działać.

Aby przydzielić swój numer portu źródłowego, aplikacje wywołują funkcje sieciowe TCP / IP, takie jak bind (), aby zażądać jednego. Aplikacja może dostarczyć stałą (zakodowaną) liczbę do związania (), jeśli wolą zażądać określonego numeru, ale takie żądanie może się nie powieść, ponieważ inna aplikacja uruchomiona w systemie może obecnie go używać.

Alternatywnie może zamiast tego podać port 0 do wiązania () jako jego parametr połączenia. To powoduje, że system operacyjny automatycznie wyszukuje i zwraca odpowiedni dostępny port w dynamicznym zakresie numerów portów TCP / IP.

Należy zauważyć, że aplikacji nie zostanie faktycznie przyznany port 0, ale raczej inny port dynamiczny. Zaletą tej konwencji programowania jest wydajność. Zamiast tego, że każda aplikacja musi implementować i uruchamiać kod w celu wypróbowania wielu portów, dopóki nie uzyska prawidłowego, aplikacje mogą polegać na systemie operacyjnym, aby to zrobić.

Unix, Windows i inne systemy operacyjne różnią się nieco pod względem obsługi portu 0, ale obowiązuje ta sama ogólna konwencja.

Port 0 i bezpieczeństwo sieci

Ruch sieciowy przesyłany przez Internet do hostów nasłuchujących na porcie 0 może być generowany przez napastników sieci lub przypadkowo przez aplikacje zaprogramowane nieprawidłowo. Komunikaty odpowiedzi, które hosty generują w odpowiedzi na ruch w porcie 0, mogą pomóc atakującym dowiedzieć się więcej o zachowaniu i potencjalnych słabościach sieciowych tych urządzeń.

Wielu dostawców usług internetowych (ISP) blokuje ruch na porcie 0 - zarówno przychodzących, jak i wychodzących - w celu zabezpieczenia się przed tymi exploitami.