不知不觉建了好多网站, 也维护多个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给找出来, 然后后面七七八八的命令就是分组, 排序, 然后打印出来. 非常的好用.
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK