1、查看linux的连接数,输出每个ip的连接数,以及总的各个状态的连接数
1)方法一:
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}' 2)方法二: [root@10.153.65.35 ~]# netstat -natp | awk '{print $5}' | awk -F : '{print $1}'| sort | uniq -c | sort -nr 7 0.0.0.0 2 10.153.140.254 2 10.153.140.252 2 10.153.140.251 2 10.153.138.30 1 and 1 Address 1 10.153.80.131 1 10.153.74.67 1 10.153.140.253 1 10.153.138.33 1 10.153.138.32 1 10.153.138.31 1 10.153.138.29 1 10.153.138.123 1 10.153.137.211 1 10.153.127.15注:可以再加一个过滤条件,只看在某个端口的连接情况:
# netstat -natp |grep 9001 | awk '{print $5}' | awk -F : '{print $1}'| sort | uniq -c | sort -nr 1 10.153.140.254 1 10.153.140.253 1 10.153.140.252 1 10.153.140.251 1 0.0.0.0 2、查看各个状态的连接数:1)方法一:
# netstat -natp | awk '{print $6}' | sort | uniq -c | sort -nr 17 ESTABLISHED 9 TIME_WAIT 7 LISTEN 1 Foreign 1 established) 2)方法二: # netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 1 ESTABLISHED 17 LISTEN 7