如何查看服务的TIME_WAIT和CLOSE_WAIT的数量
linux命令
# 查看系统tcp连接中各个状态的连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
# 查看和本机 80端口 建立连接并状态在established的所有IP
netstat -an|grep 80|grep ESTA|awk '{print $5}'|awk 'BEGIN {FS=":"} {print $1 "\n"}'|sort|uniq -c
得到如下结果
TIME_WAIT 297
ESTABLISHED 53
CLOSE_WAIT 5
这几个东西是什么意思呢?
TIME_WAIT:表示主动关闭,通过优化系统内核参数可容易解决。
CLOSE_WAIT:表示被动关闭,需要从程序本身出发。
ESTABLISHED:表示正在通信
还是看不懂是不是?要想看懂这些东西,需要先了解这些东西是如何产生的,而要说到如何产生的,就不得不提TCP的三次握手和四次挥手,握手挥手机制是TCP能够建立稳点连接的基础&#x