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