查看80端口的连接数
netstat -nat|grep -i ""|wc -l
查看Nginx的日志命令
tail -f access.log
统计IP访问数
awk '{aaa[$1]++;} END{for(i in aaa) { printf("%s\t%s\n", aaa[i], i); }}' ./access.log | sort -bn
封IP
iptables -I INPUT -s 127.0.0.1 -j DROP
解封IP
iptables -D INPUT -s 127.0.0.1 -j DROP
当前IP链接数据排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看80端口连接数最多的20个IP
netstat -anlp|grep |grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
查找较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
查看并发数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
或者
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'
结果说明:
LAST_ACK (正在等待处理的请求数)
SYN_RECV
ESTABLISHED (正常数据传输状态,并发数)
FIN_WAIT1
FIN_WAIT2
TIME_WAIT (处理完毕,等待超时结束的请求数) 其他参数说明:
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉