设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 985|回复: 3

kangle的日志输出格式和nginx不一样吗

[复制链接]

签到天数: 41 天

[LV.5]常住居民I

发表于 2022/6/12 09:12 | 显示全部楼层 |阅读模式 |Firefox 101.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
看见了个nginx的 CC攻击告警脚本
用kangle试了下,应该是日志输出格式不一样,所以不成功,哪位大神看下这个脚本怎么改成kangle的日志格式
日志的开头的格式必须为例如 x.x.x.x - - [22/Nov/2017:13:20:02 -0500] "GET /xxxxxx HTTP/1.1" 200 3386,也就是IP在首列,时间格式与此示例相同,请求URL在第七列,请求长度在第十列,一般 nginx 日志的默认格式应该是这样,如果是其他的服务器软件或者日志格式不同请根据自己的情况魔改 sh脚本里的相关截取日志信息的代码

下图是默认是这个脚本的日志格式nginx测试成功,不知如何改为kangle的日志格式,kangle的CC攻击显示是在access.log还是server.log

shell

shell



#临时文件
TMP_LOG=`mktemp`
TMP_IP_LIST=`mktemp`
TMP_LIST=`mktemp`

#得到部分日志
grep -h "$NOW_DATE" $LOG_FILES > $TMP_LOG
#得到IP访问量排序
grep -h "$NOW_DATE" $TMP_LOG | awk '{print $1}' | sort | uniq -c | sort -nr > $TMP_IP_LIST
#得到IP访问数据总大小'
IFS_old=$IFS
IFS=$'\n'
for LIST_LINE in `cat $TMP_IP_LIST`
do
        CUR_TIMES=`echo $LIST_LINE | awk '{print $1}'`
        CUR_IP=`echo $LIST_LINE | awk '{print $2}'`
        #判断重复请求次数
        CUR_REPEAT=`grep -h $CUR_IP $TMP_LOG | awk '{print $7}' | sort | uniq -c | sort -nr | head -1 | awk '{print $1}'`
        if [ "${1}x" = "--testx" ]; then
                echo -e "\033[033m[${NOW_DATE}x]\033[0m\t$CUR_TIMES\t$CUR_REPEAT\t$CUR_IP"
        fi
        if [ $CUR_REPEAT -ge $LIMIT_REPEAT ]; then
                echo "$CUR_IP REPEAT:$CUR_REPEAT>=$LIMIT_REPEAT" >> $TMP_LIST
        #判断访问量
        elif [ $CUR_TIMES -ge $LIMIT_TIMES ]; then
                TOTAL_FLOW=0
                #某IP的单条流量记录
                for LINE_LOG_FLOW in `grep -h $CUR_IP $TMP_LOG | awk '{print $10}'`
                do
                        TOTAL_FLOW=$((TOTAL_FLOW+LINE_LOG_FLOW))
                done
                #如果流量大于设定的最大流量值则Ban
                if [ $TOTAL_FLOW -ge $LIMIT_FLOW ]; then
                        echo "$CUR_IP FLOW:$TOTAL_FLOW>=$LIMIT_FLOW" >> $TMP_LIST
                fi
        fi
done
[发帖际遇]: hackaq 在论坛发帖时没有注意,被小偷偷去了 5 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

 成长值: 21

签到天数: 4468 天

[LV.Master]伴坛终老

发表于 2022/6/12 18:37 | 显示全部楼层 |Google Chrome 102.0.5005.63|Windows 10
市面上大部分日志分析软件都支持kangle的日志
kangle的ip位置也是放在第一位的
获取ip列表例子例如
  1. cat /vhs/kangle/var/access.log | awk '{print $1}'
复制代码


cc记录显示在server.log中,server.log日志根据等级和配置设置不同,记录的内容不一样

所以建议从server.log取值,下面有帖子讲解了怎么取

这有个帖子你参考下,可以观察下格式,期待你能写出sh分享
Linux kangle通过log日志标识分析来检查black_list模块加入的黑名单封禁ip列表,查看当前防CC攻击用户列表触发检测的IP并且排序
https://bbs.itzmx.com/forum.php?mod=viewthread&tid=99558&fromuid=1

kangle的访问logs目录下日志access.log文件缓命中率讲解,回源标识代号数据参考 参数分析
https://bbs.itzmx.com/forum.php?mod=viewthread&tid=94114&fromuid=1

kangle访问日志log文件解析,LCVSZK分别标志表示什么意思 标识符
https://bbs.itzmx.com/forum.php?mod=viewthread&tid=98400&fromuid=1

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 41 天

[LV.5]常住居民I

 楼主| 发表于 2022/6/13 22:04 | 显示全部楼层 |Firefox 101.0|Windows 10
小樱 发表于 2022/6/12 18:37
市面上大部分日志分析软件都支持kangle的日志
kangle的ip位置也是放在第一位的
获取ip列表例子例如

好的 会分享出来 小樱咱们有群吗 想没事多去学习
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 21

签到天数: 4468 天

[LV.Master]伴坛终老

发表于 2022/6/14 00:02 | 显示全部楼层 |Google Chrome 102.0.5005.63|Windows 10
hackaq 发表于 2022/6/13 22:04
好的 会分享出来 小樱咱们有群吗 想没事多去学习

群里都是小学生,基本上算是游戏群,
论坛来说分享kangle教程更专业一些,发过一次的帖子也是永远在那的,通过搜索就可以获得,也不像群里被群消息99+刷掉导致重复性机器式回答。
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/3/29 18:38 , Processed in 0.125070 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表