linux查看tcp连接情况

查看哪些IP连接本机

netstat -an

查看全部tcp的不同状态的连接数

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

查看指定查询的TCP连接数

-- 查询指定端口80端口连接
netstat -nat|grep -i "80"
-- 统计80端口连接数
netstat -nat|grep -i "80"|wc -l
-- 统计httpd协议连接数
ps -ef|grep httpd|wc -l
-- 统计已连接上的,状态为”established”
 netstat -na|grep ESTABLISHED|wc -l
-- 当前并发访问数
netstat -an | grep ESTABLISHED | wc -l
-- 查看有多少个http进程数
ps aux|grep httpd|wc -l

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: 没有任何连接状态

)
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057
  其中的
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。