netstat命令(stat)狀態詳解


TCP三次握手的過程如下:
        主動連接端發送一個SYN包給被動連接端;
        被動連接端收到SYN包后,發送一個帶ACK和SYN標志的包給主動連接端;
        主動連接端發送一個帶ACK標志的包給被動連接端,握手動作完成。
 
 
TCP四次揮手的過程如下:
        主動關閉端發送一個FIN包給被動關閉端;
        被動關閉端收到FIN包后,發送一個ACK包給主動關閉端;
        被動關閉端發送了ACK包后,再發送一個FIN包給主動關閉端;
        主動關閉端收到FIN包后,發送一個ACK包,當被動關閉端收到ACK包后,四次揮手動作完成,連接斷開。
 
 
netstat中的各種狀態:
        CLOSED 
                初始(無連接)狀態。
        LISTEN 
                偵聽狀態,等待遠程機器的連接請求。
        SYN_SEND 
                在TCP三次握手期間,主動連接端發送了SYN包后,進入SYN_SEND狀態,等待對方的ACK包。
        SYN_RECV 
                在TCP三次握手期間,主動連接端收到SYN包后,進入SYN_RECV狀態。
        ESTABLISHED 
                完成TCP三次握手后,主動連接端進入ESTABLISHED狀態。此時,TCP連接已經建立,可以進行通信。
        FIN_WAIT_1 
                在TCP四次揮手時,主動關閉端發送FIN包后,進入FIN_WAIT_1狀態。
        FIN_WAIT_2 
                在TCP四次揮手時,主動關閉端收到ACK包后,進入FIN_WAIT_2狀態。
        TIME_WAIT 
                在TCP四次揮手時,主動關閉端發送了ACK包之后,進入TIME_WAIT狀態,等待最多MSL時間,讓被動關閉端收到ACK包。
        CLOSING 
                在TCP四次揮手期間,主動關閉端發送了FIN包后,沒有收到對應的ACK包,卻收到對方的FIN包,此時,進入CLOSING狀態。
        CLOSE_WAIT 
                在TCP四次揮手期間,被動關閉端收到FIN包后,進入CLOSE_WAIT狀態。
        LAST_ACK 
                在TCP四次揮手時,被動關閉端發送FIN包后,進入LAST_ACK狀態,等待對方的ACK包。
 
主動連接端可能的狀態有:         
        CLOSED        SYN_SEND        ESTABLISHED。
主動關閉端可能的狀態有:         
        FIN_WAIT_1        FIN_WAIT_2        TIME_WAIT。
被動連接端可能的狀態有:         
        LISTEN        SYN_RECV        ESTABLISHED。
被動關閉端可能的狀態有:         
        CLOSE_WAIT        LAST_ACK        CLOSED。
 
 
在Linux下,如果連接數比較大,可以使用效率更高的ss來替代netstat。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM