ip连接统计
對(duì)連接的IP按連接數(shù)量進(jìn)行排序 ?
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ?
查看TCP連接狀態(tài) ?
??
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn ?
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]}' ?
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}' ?
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn ?
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c ?
查看80端口連接數(shù)最多的20個(gè)IP ? ?
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|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?
查看當(dāng)前并發(fā)訪問(wèn)數(shù):
netstat -an | grep ESTABLISHED | wc -l
查看所有連接請(qǐng)求
netstat -tn 2>/dev/null?
但是只要established的,則grep ?"ESTABLISHED"?
netstat -tn | grep ESTABLISHED 2>/dev/null
查看訪問(wèn)某一ip的所有外部連接IP(數(shù)量從多到少)
netstat -nt | grep 121.41.30.149:80 | awk '{print $5}' | awk -F: '{print ($1>$4?$1:$4)}' | sort | uniq -c | sort -nr | head
根據(jù)端口查找進(jìn)程
netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1
下面未驗(yàn)證
防范DDOS×××腳本 ?
#防止SYN××× 輕量級(jí)預(yù)防 ?
iptables -N syn-flood ?
iptables -A INPUT -p tcp –syn -j syn-flood ?
iptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN ?
iptables -A syn-flood -j REJECT ?
#防止DOS太多連接進(jìn)來(lái),可以允許外網(wǎng)網(wǎng)卡每個(gè)IP最多15個(gè)初始連接,超過(guò)的丟棄 ?
iptables -A INPUT -i eth0 -p tcp –syn -m connlimit –connlimit-above 15 -j DROP ?
iptables -A INPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT ?
#用Iptables抵御DDOS (參數(shù)與上相同) ?
iptables -A INPUT ?-p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT ?
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT ??
根據(jù)nginx的訪問(wèn)日志判斷
查看訪問(wèn)記錄
1.從1000行開始到3000
cat access.log |head -n 3000|tail -n 1000
2.從1000行開始,顯示200行
cat access.log |tail -n +1000 |head -n 200
3.通過(guò)查詢?nèi)罩居涗涍M(jìn)行分析(如果沒(méi)有單獨(dú)配置,access.log一般放在nginx/logs下)
awk '{print $1}' 日志地址 | sort | uniq -c | sort -n -k 1 -r | head -n 100
tail -n 1000:顯示最后1000行
tail -n +1000:從1000行開始顯示,顯示1000行以后的
head -n 1000:顯示前面1000行
1.根據(jù)訪問(wèn)IP統(tǒng)計(jì)UV
awk '{print $1}' ?access.log|sort | uniq -c |wc -l
2.統(tǒng)計(jì)訪問(wèn)URL統(tǒng)計(jì)PV
awk '{print $7}' access.log|wc -l
3.查詢?cè)L問(wèn)最頻繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
4.查詢?cè)L問(wèn)最頻繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
5.根據(jù)時(shí)間段統(tǒng)計(jì)查看日志
?cat ?access.log| sed -n '/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p'|more
6.通過(guò)日志查看含有send的url,統(tǒng)計(jì)ip地址的總連接數(shù)
cat access.log | grep "send" | awk '{print $1}' | sort | uniq -c | sort -nr
7.通過(guò)日志查看當(dāng)天訪問(wèn)次數(shù)最多的時(shí)間段
awk '{print $4}' access.log | grep "24/Mar/2011" |cut -c 14-18|sort|uniq -c|sort -nr|head
8.通過(guò)日志查看當(dāng)天指定ip訪問(wèn)次數(shù)過(guò)的url和訪問(wèn)次數(shù)
cat access.log | grep "222.132.90.94" | awk '{print $7}' | sort | uniq -c | sort -nr
轉(zhuǎn)載于:https://blog.51cto.com/1142263/2133237
總結(jié)
- 上一篇: 2018“硅谷技划”随笔(一):再论中美
- 下一篇: python学习之老男孩python全栈