hackaq 发表于 2022/6/12 09:12

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

看见了个nginx的 CC攻击告警脚本
用kangle试了下,应该是日志输出格式不一样,所以不成功,哪位大神看下这个脚本怎么改成kangle的日志格式
日志的开头的格式必须为例如 x.x.x.x - - "GET /xxxxxx HTTP/1.1" 200 3386,也就是IP在首列,时间格式与此示例相同,请求URL在第七列,请求长度在第十列,一般 nginx 日志的默认格式应该是这样,如果是其他的服务器软件或者日志格式不同请根据自己的情况魔改 sh脚本里的相关截取日志信息的代码

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




#临时文件
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\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

小樱 发表于 2022/6/12 18:37

市面上大部分日志分析软件都支持kangle的日志
kangle的ip位置也是放在第一位的
获取ip列表例子例如
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

hackaq 发表于 2022/6/13 22:04

小樱 发表于 2022/6/12 18:37
市面上大部分日志分析软件都支持kangle的日志
kangle的ip位置也是放在第一位的
获取ip列表例子例如


好的 会分享出来 小樱咱们有群吗 想没事多去学习

小樱 发表于 2022/6/14 00:02

hackaq 发表于 2022/6/13 22:04
好的 会分享出来 小樱咱们有群吗 想没事多去学习

群里都是小学生,基本上算是游戏群,
论坛来说分享kangle教程更专业一些,发过一次的帖子也是永远在那的,通过搜索就可以获得,也不像群里被群消息99+刷掉导致重复性机器式回答。
页: [1]
查看完整版本: kangle的日志输出格式和nginx不一样吗