查看80端口的連接數
netstat -nat|grep -i "80"|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 80|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 5 (正在等待處理的請求數) SYN_RECV 30 ESTABLISHED 1597 (正常數據傳輸狀態,並發數) FIN_WAIT1 51 FIN_WAIT2 504 TIME_WAIT 1057 (處理完畢,等待超時結束的請求數) 其他參數說明: CLOSED:無連接是活動的或正在進行 LISTEN:服務器在等待進入呼叫 SYN_RECV:一個連接請求已經到達,等待確認 SYN_SENT:應用已經開始,打開一個連接 ESTABLISHED:正常數據傳輸狀態 FIN_WAIT1:應用說它已經完成 FIN_WAIT2:另一邊已同意釋放 ITMED_WAIT:等待所有分組死掉 CLOSING:兩邊同時嘗試關閉 TIME_WAIT:另一邊已初始化一個釋放 LAST_ACK:等待所有分組死掉