服务器技术

 首页 > 服务器技术 > Linux > linux写shell脚本对频繁404ip屏蔽

linux写shell脚本对频繁404ip屏蔽

分享到:
【字体:
导读:
         [导读] 由于 最近网站一直有不正常的IP访问,而且一直返回404,我都是天天自己慢慢看日志,累的要死,就在网上找了些资料,写了下面的sh脚本,运行脚本,就会把异常IP查找出来丢到文件中...

由于 最近网站一直有不正常的IP访问,而且一直返回404,我都是天天自己慢慢看日志,累的要死,就在网上找了些资料,写了下面的sh脚本,运行脚本,就会把异常IP查找出来丢到文件中.

#!/bin/sh
/usr/bin/tail -n50000 /var/log/nginx/access.log 
| awk '$8 {print $1,$4,$9,$12,$13,$14}'   #这里主要看你的日志是什么格式,我这第一个是IP,第二个是访问时间 第三个是状态,后面三个是用来取搜索引擎的蜘蛛数据的,
| grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou"   #这里是把蜘蛛数据去除
| awk '{print $1,$3}'|sort|uniq -c |sort -rn  #排序
| awk '{if($1>30 && $3=='404') print "deny "$1,$2,$3";"}' > disip.txt  #如果次数大于30并且是404的,直接丢入disip.txt 备用

然后取到所有IP,你就可以慢慢处理了,以上是php自学网提供。

分享到:
linux批量替换目录下文件内容和文件内容...
linux如何批量替换目录下文件内容和文件内容? 一、linux批量替换文件内容 : sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径` 例如将/var/www/test文件夹下的所有文件内容中的abc字符串换成123 sed -i "s/abc/123/g" `grep abc -rl /var/www/test` 注:grep内容用的不是单引号",而是`,tab键上面的,请使用绝...
linux系统管理之halt 命令详解语法选项实...
Linux 系统管理之halt 命令详解 halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。 语法 halt(选项) 选项 -d:不要在wtmp中记录; -f:不论目前的runlevel为何,不调用shutdown即强制关闭系统; -i:在halt之前,关闭全部的网...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……