TCP pokazuje SŁUCHANIE w kolumnie stanu, a UDP niczego nie pokazuje:
Czy to dlatego, że UDP ma tylko jeden stan ( SŁUCHANIE ), więc nie trzeba go pokazywać, czy może jest inny powód?
windows
networking
netstat
użytkownik613132
źródło
źródło
Odpowiedzi:
Jak wspomniano w komentarzach, UDP jest bezpołączeniowy. W przeciwieństwie do TCP, nie ma pojęcia „nasłuchiwania”, „ustalonego”, „zamkniętego” ani czegoś takiego. Jeśli port UDP jest otwarty, pojawia się na liście; jeśli nie jest otwarte, to nie. Nie ma innego stanu do wyświetlenia. Wyświetlenie
LISTENING
lub coś podobnego w tej kolumnie może sugerować, że istnieją inne możliwe stany i byłoby to fałszywe.źródło
Pomimo twierdzeń, że netstat nie pokazują stan ponieważ UDP jest bezpaństwowcem, netstat na niż Windows systemów operacyjnych nie wykazują wartość dla kolumny State. Na przykład Solaris pokazuje „Bezczynny” lub „Bez ograniczeń”. O ile wiem, gniazda „bezczynne” to te związane z konkretnymi portami lokalnymi, podczas gdy gniazda „niezwiązane” są zawsze „*. *”, A więc prawdopodobnie jakoś otwarte, ale nie powiązane z konkretnymi portami. netstat w systemie Linux może pokazywać co najmniej „ESTABLISHED”. Ponadto nadal chciałbym wiedzieć, czy port UDP oczekuje połączeń z innego miejsca, aby zainicjować ruch, czy jest po prostu otwarty, aby mógł wysyłać rzeczy z innego miejsca.
źródło
read
), albo istnieje albo nie ma procesu oczekującego na blokującerecv
(lub powiązane) wywołanie systemowe, a jądro wie, czy istnieje taki proces (ponieważ, podobnie jak z potokiem lub tty, musi wiedzieć, jak zareagować, gdy pojawi się wejście). Dlatego powinno być możliwenetstat
ustalenie i zgłoszenie, czy proces oczekuje na przesłanie danych do gniazda UDP.