不知不觉建了好多网站, 也维护多个VPS服务器好多年了, 经常会碰到服务器被多种不良爬虫攻击, 不管是否恶意, 每次并发访问大的时候, 服务器的CPU使用率就飙升.
这时候我一般都会分析APACHE日志来找出在同一时间并发访问的IP. 然后找到IP后就很简单了, 通过CLOUDFLARE的防火墙添加一条IP规则永久禁止该IP的访问. CLOUDFLARE是个很不错的保护, 因为你服务器的IP地址永远不会被泄露, 而CLOUDFLARE会在你的服务器和访问者之间过滤掉恶意的访问.
通过在LINUX下BASH的几个命令, cat, awk, sort, uniq, head 可以用管道把这几个命令用起来, 分析APACHE的日志脚本, 找出访问最多的几个IP地址.
1 | cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | awk '{printf "%-8s ==> %s\n", $2, $1}' | head -10 |
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | awk '{printf "%-8s ==> %s\n", $2, $1}' | head -10
显示如下:
200.167.184.130 ==> 54487 189.11.199.82 ==> 30796 169.57.142.70 ==> 22209 187.7.215.35 ==> 21290 201.49.164.75 ==> 11104 200.167.184.168 ==> 10838 93.158.239.25 ==> 2747 2804:7f3:6980:4e90:4d67:871c:a75b:f5e4 ==> 1588 156.67.242.53 ==> 1407 198.71.230.54 ==> 1078
第一部分的命令 cat access.log | awk ‘{print $1}’ 是把日志中的第一列, 也就是访问者的IP给找出来, 然后后面七七八八的命令就是分组, 排序, 然后打印出来. 非常的好用.
GD Star Rating
loading...
本文一共 266 个汉字, 你数一下对不对.loading...
上一篇: Steem 终于升到 72级
下一篇: 参加 2018 Hacktoberfest 活动, 收到一件衣服和几个小玩意
扫描二维码,分享本文到微信朋友圈
爬虫多, 说明你的站点受欢迎, 我以前有个新闻站点, 每天爬虫来几万次, 收录也是惊人, 流量更是吓人
收录惊人放个广告不就发了? 为啥不做了呢?