查看TCP连接的命令【转载】
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