查看 Linux 系統中的 TCP 連接數


示例:

# netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print (a,S[a])}'
# ss -s

輸出信息:

LISTEN 44
CLOSE_WAIT 57
TIME_WAIT 3
ESTABLISHED 1275

TCP連接狀態詳解:

LISTEN: 偵聽來自遠方的TCP端口的連接請求
SYN-SENT: 再發送連接請求后等待匹配的連接請求
SYN-RECEIVED:再收到和發送一個連接請求后等待對方對連接請求的確認
ESTABLISHED: 代表一個打開的連接
FIN-WAIT-1: 等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2: 從遠程TCP等待連接中斷請求
CLOSE-WAIT: 等待從本地用戶發來的連接中斷請求
CLOSING: 等待遠程TCP對連接中斷的確認
LAST-ACK: 等待原來的發向遠程TCP的連接中斷請求的確認
TIME-WAIT: 等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
CLOSED: 沒有任何連接狀態

相關內核參數:

net.ipv4.ip_forward=1
fs.inotify.max_user_instances = 8192
net.ipv4.tcp_syncookies = 1  表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防范少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1    表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1  表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉;
net.ipv4.tcp_fin_timeout = 30  修改系統默認的 TIMEOUT 時間。

tcp keepalive 內核參數:

net.ipv4.tcp_keepalive_time=60
net.ipv4.tcp_keepalive_probes=2
net.ipv4.tcp_keepalive_intvl=2


免責聲明!

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



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