#LINUX 查看tcp连接数及状态 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 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: 没有任何连接状态 #查看9955端口的tcp连接数 netstat -nat|grep -i "9955"|wc -l 3)、统计已连接上的,状态为“established netstat -na|grep ESTABLISHED|wc -l 研究发现,Linux对外的随机分配端口是由一定限制的,理论上单机对外的端口最大值为65535,除去一些保留端口和被占用端口外,也应该在6W左右,但实际上单机建立对外连接时,默认不超过28232个连接。 执行以下命令就很清楚原因了: $ cat /proc/sys/net/ipv4/ip_local_port_range 输出结果为: 32768 61000 这就是Linux随机分配端口的范围,如果在该范围内有被占用的端口,那么连接数肯定小于28232.如果想更改这个范围,可以执行以下命令: # echo "10000 65535" > /proc/sys/net/ipv4/ip_local_port_range