AI智能摘要
还在为红蓝攻防演练时错过关键攻击告警而烦恼?这款WAF监控脚本能在检测到红队IP攻击时立即发出声音警报,让你第一时间掌握攻击动态。通过实时解析WAF日志,自动识别攻击来源IP、目标服务器和安全事件类型,支持自定义告警声音和去重功能。专为安全工程师打造的轻量级工具,让攻防演练监控更高效直观。
— AI 生成的文章内容摘要
攻防演练时写的小脚本,挺管用的,记录一下。。。

#!coding:utf-8
from socket import *
import pygame,re
tmpSip = ''
tmpDip = ''
#!红队IP
Sip = ['210.72.243.18','114.242.71.226','114.242.71.227','114.242.71.228','114.242.71.229','114.242.71.230','114.242.71.231','114.242.71.232','114.242.71.233','114.242.71.234','114.242.71.235','114.242.71.236','114.242.71.237','114.242.71.238','114.242.71.239','114.242.71.240','114.242.71.241','114.242.71.242','114.242.71.243','114.242.71.244','114.242.71.245','114.242.71.246','114.242.71.247','114.242.71.248','114.242.71.249','114.242.71.250','114.242.71.251','114.242.71.252','114.242.71.253','114.242.71.254','1.50.104.62','14.135.74.35']
#接收WAF告警
revlog = socket(AF_INET,SOCK_DGRAM)
addr = ('172.16.26.122',515)
revlog.bind(addr)
while True:
receive_data = revlog.recvfrom(204800)
date = receive_data[0]#decode('gbk')# 存储接收的数据
addr = receive_data[1]
Dev_ip = addr[0]
port = addr[1]
#!匹配目标
try:
src_ip = str(re.findall("src_ip:+(d+S+)",date)[0])
dst_ip = str(re.findall("dst_ip:+(d+S+)",date)[0])
alertlevel = str(re.findall("alertlevel:+(S+)",date)[0])
event_type = str(re.findall("event_type:+(S+)",date)[0])
action = str(re.findall("action:+(S+)",date)[0])
except:
pass
print "=",#日志接收状态
#监测红队IP
#!去重
if tmpSip == src_ip:
if tmpDip == dst_ip:
continue
#!告警
if src_ip in Sip:
tmpSip = src_ip
tmpDip = dst_ip
pygame.mixer.init()
track = pygame.mixer.music.load(r"D:auto-toolstoollisteningMP3620.wav")
pygame.mixer.music.play()
#print "==="*10
print "===== This is WAF =====n"
print "检测到红队攻击IP: %s 目标服务器IP:%s 安全事件:%s 危险等级:%s 动作:%sn".decode('UTF-8').encode('GBK') %(src_ip,dst_ip,event_type,alertlevel,action)
print "==="*10
- it2021
- it2021.com
- WAF监控
- 攻防演练
- 网络安全





1F
这个脚本思路不错,简单实用
2F
这脚本半夜响一声能吓出心脏病啊😂
3F
红队IP这么多,是不是某次演练的固定出口?
4F
能不能加个阈值控制?别一有日志就播音
5F
我试过类似方案,最后改成了弹窗+钉钉通知
6F
alertlevel是按CVE评分来的还是自定义规则?
7F
缩进确实乱,但功能能跑就行,实战党不挑
8F
建议加个IP自动同步接口,手动维护太累了
9F
linux下pygame有点坑,得装alsa那些依赖
10F
要是能自定义告警音效就更好了
11F
有人试过在linux环境跑吗?
B1
@ 遛狗达人 linux下pygame有点坑,装依赖折腾半天
12F
红队IP列表是手动维护的吗?
13F
之前也写过类似的,不过没加声音提示
B1
@ Scarlet Serenade 我之前也踩过这坑,正则匹配日志格式不对直接崩
14F
这代码缩进有点乱啊
15F
检测到攻击自动播放声音挺有意思的
16F
对于企业内网部署有没有什么建议?
17F
WAF告警这块确实需要及时响应
B1
@ 沉睡的幻想家 声音告警在值班室场景下真挺管用的
18F
感觉可以再加个邮件通知功能
19F
这脚本在实战里真能救命啊,声音一响全员警觉
20F
红队IP要是动态变的咋办?手动更新太累了
21F
alertlevel分级有标准吗?还是自己定的?
22F
缩进乱得看不下去,好歹用个编辑器格式化下
23F
自动播音确实比盯着屏幕强,眼睛都快瞎了
24F
能不能加个静音开关?半夜告警吓一跳hhh
25F
企业内网一般不让外放声音吧,实用性存疑
B1
@ 复古风铃 企业内网用耳机监听也行吧,总比漏告警强
26F
检测到就播620.wav?这音效能换点刺激的不🤔
B1
@ 二不愣 620.wav是啥音效?求分享链接hhh
27F
这个脚本在实战中确实好用,声音告警比邮件及时多了
28F
红队IP列表需要手动维护有点麻烦,建议加个自动更新功能
29F
企业内网用这个得注意音量控制,别影响同事工作
30F
要是能自定义告警音效就完美了,现在这个有点单调
31F
之前做过类似的监控脚本,声音提示确实能提升响应速度
32F
代码缩进看着有点难受,建议用IDE格式化一下
33F
在linux上测试过了吗?Windows依赖比较多
34F
WAF告警分级标准能详细说说吗?不同等级对应什么风险
35F
半夜告警确实吓人,加个静音开关很必要
36F
这种实时监控对攻防演练帮助很大,简单实用
37F
要是能自定义告警音效就更好了,现在这个有点单调
38F
这个IP列表是公开的还是内部的呀?
得克萨斯州 休斯顿 B1
@ VanishingEcho 公开的,红队演练用的IP地址
39F
用pygame播声音告警挺有意思的
40F
代码里用pygame播声音这个思路还挺巧的
B1
@ BouncyBean 确实,这思路挺实用的
41F
这脚本思路挺稳,监听再告警很直观
42F
路径是硬编码的,换环境记得改一下。