Forstå CLOSE_WAIT og TIME_WAIT i netstat -a på Windows: En guide

Hvad betyder/indikerer CLOSE_WAIT og TIME_WAIT, når der udføres netstat -a på en Windows-maskine?

Når du udfører netstat -a på en Windows-maskine, indikerer CLOSE_WAIT, at forbindelsen er lukket fra den anden ende, men den lokale ende har endnu ikke frigivet ressourcerne, mens TIME_WAIT viser, at forbindelsen er lukket korrekt, og systemet venter på at sikre, at alle pakker er modtaget.

Hvad betyder/indikerer CLOSE_WAIT og TIME_WAIT, når der udføres netstat -a på en Windows-maskine?

Når du udfører kommandoen netstat -a på en Windows-maskine, vil du se en liste over netværksforbindelser og deres tilstande. To af de tilstande, du kan støde på, er CLOSE_WAIT og TIME_WAIT. Her er hvad de betyder:

CLOSE_WAIT

CLOSE_WAIT indikerer, at forbindelsen er lukket fra den anden ende, men at den lokale ende endnu ikke har lukket forbindelsen. Dette sker typisk, når den lokale applikation stadig behandler data eller ikke har frigivet ressourcerne korrekt.

  • Forbindelsen er lukket af den eksterne vært.
  • Den lokale vært venter på, at applikationen frigiver ressourcerne.
  • Kan indikere et problem, hvis forbindelsen forbliver i denne tilstand i lang tid.

TIME_WAIT

TIME_WAIT indikerer, at forbindelsen er blevet lukket korrekt, og at systemet venter på at sikre, at alle pakker er modtaget og at der ikke er nogen forsinkede pakker i netværket. Dette er en normal del af TCP-forbindelsens afslutningsproces.

  • Forbindelsen er lukket korrekt af den lokale vært.
  • Systemet venter på at sikre, at alle pakker er modtaget.
  • Forhindrer genbrug af samme portnummer for tidligt.
  • Typisk varer denne tilstand i en kort periode (normalt 2 x MSL - Maximum Segment Lifetime).

Begge tilstande er en del af TCP-forbindelsens livscyklus og er nødvendige for at sikre korrekt lukning og frigivelse af ressourcer. Men hvis du ser mange forbindelser i CLOSE_WAIT tilstand, kan det være et tegn på, at en applikation ikke håndterer forbindelseslukning korrekt.