เมื่อฉันทำnetstat -a
บนเครื่อง Windows ของฉันฉันจะได้รับรายชื่อของพอร์ตที่มีหนึ่งในสี่สถานะ:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
สิ่งที่CLOSE_WAIT
และTIME_WAIT
หมายถึง / ระบุ?
เมื่อฉันทำnetstat -a
บนเครื่อง Windows ของฉันฉันจะได้รับรายชื่อของพอร์ตที่มีหนึ่งในสี่สถานะ:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
สิ่งที่CLOSE_WAIT
และTIME_WAIT
หมายถึง / ระบุ?
คำตอบ:
เนื่องจากวิธีการทำงานของ TCP / IP จึงไม่สามารถปิดการเชื่อมต่อได้ทันที แพ็คเก็ตอาจมาถึงตามคำสั่งหรือถูกส่งใหม่หลังจากการเชื่อมต่อถูกปิด CLOSE_WAIT บ่งชี้ว่าปลายทางระยะไกล (อีกด้านหนึ่งของการเชื่อมต่อ) ได้ปิดการเชื่อมต่อ TIME_WAIT บ่งชี้ว่าจุดปลายเฉพาะที่ (ด้านนี้) ได้ปิดการเชื่อมต่อ การเชื่อมต่อกำลังถูกเก็บไว้เพื่อให้แพ็คเก็ตล่าช้าใด ๆ สามารถจับคู่กับการเชื่อมต่อและจัดการอย่างเหมาะสม การเชื่อมต่อจะถูกลบเมื่อหมดเวลาภายในสี่นาที ดูhttp://en.wikipedia.org/wiki/Transmission_Control_Protocolสำหรับรายละเอียดเพิ่มเติม
โดยทั่วไปสถานะ "WAIT" หมายถึงด้านหนึ่งปิดการเชื่อมต่อ แต่การยืนยันขั้นสุดท้ายของการปิดอยู่ระหว่างการพิจารณา
ดูเช่นแผนภาพนี้ของสถานะ TCP สำหรับรายละเอียด:
TIME_WAIT หมายถึงการรอเวลาให้เพียงพอเพื่อให้แน่ใจว่า TCP ระยะไกลได้รับ ACK ของคำขอ FIN ดู en.wikipedia.org/wiki/Transmission_Control_Protocol (และ RFC 793)