TCP连接统计
查看当前各种TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看80端口连接数
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr

查看tcp连接列出ip地址并排序
netstat -an|grep "ESTABLISHED"|awk -F "[ :]+" '{print $6}'|sort|uniq -c|sort -rn -k1

查找请求数前20个IP(常用于查找攻来源)
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

找查较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

根据端口列进程
netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1

一、查看所有80端口的连接数(如果不是80端口,可以换成其他的)

netstat -nat|grep -i "80"|wc -l

二、对连接的IP按连接数量进行排序

netstat -anp | egrep 'tcp|udp' | awk '{print $1" "$4}' | cut -d: -f1 | sort | uniq -c | sort -nr
netstat -ntu | awk '{print $1" "$4}' | cut -d: -f1 | sort | uniq -c | sort -nr

三、查看TCP连接状态

netstat -nat |awk '{print $NF}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -nat | awk '/^tcp/ {print $NF};END {for(a in S) print a, S[a]}'|sort | uniq -c
netstat -n | awk '/^tcp/ {print $NF}; END {for(key in state) print key,"t",state[key]}' |sort | uniq -c
netstat -n | awk '/^tcp/ {print $NF};END {for(k in arr) print k,"t",arr[k]}'|sort | uniq -c
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

四、查看80端口连接数最多的20个IP(这个前提是必须要记录访问日志)

cat /www/web_logs/waitalone.cn_access.log|awk '{print }'|sort|uniq -c|sort -nr|head -100
tail -n 10000 /www/web_logs/waitalone.cn_access.log|awk '{print }'|sort|uniq -c|sort -nr|head -100
cat /www/web_logs/waitalone.cn_access.log|awk '{print }'|sort|uniq -c|sort -nr|head -100

netstat -anlp|grep 80|grep tcp|awk '{print }'|awk -F: '{print }'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/END{for(i in A) print A,i}' |sort -rn|head -n20

五、用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk '{print $2}' |awk -F"." '{print $1"."$2"."$3"."$4}'|sort | uniq -c | sort -nr

六、查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk '{print }'|sort|uniq -c|sort -rn|head -n20

七、查找较多的SYN连接

netstat -an | grep SYN | awk '{print }' | awk -F: '{print }' | sort | uniq -c | sort -nr | more