讲师中心 微信公众号
AI工具推荐 视频效率加速

Python自动化识别异常网络流量并生成告警的脚本方案【技巧】

老瑶酱_2645

老瑶酱_2645

发布时间:2025-12-17 08:24:41

|

495人浏览过

|

来源于php中文网

原创

轻量级网络流量异常检测方案:用Scapy实时抓包+滑动窗口统计,动态基线(中位数±1.5×MAD)替代固定阈值,分级告警(日志/企微/邮件短信)并支持白名单与Redis抑制,兼顾落地性、可调性与易维护性。

python自动化识别异常网络流量并生成告警的脚本方案【技巧】

用Python做网络流量异常检测并自动告警,核心不在写多复杂的模型,而在于快速落地、可调、易维护。下面是一个轻量但实用的方案,不依赖深度学习,适合中小规模出口或内网旁路镜像场景。

一、用Scapy实时抓包 + 滑动窗口统计

不用NetFlow或sFlow采集器,直接用Scapy监听网卡(如eth0),每10秒统计一次基础指标:

  • 每秒新建TCP连接数(SYN包计数)
  • UDP包占比突增(>60%且环比+200%)
  • 单IP目的端口离散度(熵值<2.0视为扫描行为)
  • HTTP状态码5xx比例>15%(需解析Payload,加简单正则即可)

滑动窗口用deque维护最近5个周期数据,避免内存堆积。注意:开启混杂模式需root权限,生产建议用AF_PACKET + PF_RING加速。

二、阈值用动态基线替代固定数字

固定阈值在业务波动时误报高。改用“滚动中位数±1.5×MAD(中位数绝对偏差)”作为上下限:

立即学习“Python免费学习笔记(深入)”;

  • 每天凌晨自动重算昨日各指标的基线(存本地JSON或SQLite)
  • 当前值超出基线范围即触发初步标记
  • 连续3个周期超标才升级为“确认异常”

例如:正常SYN/sec中位数是42,MAD=8,则告警阈值≈42±12 → 超过54持续30秒就记为异常。

361SCAN security check your skill python scripts
361SCAN security check your skill python scripts

扫描并分析已安装技能,用于查看指定技能目录的名称、描述和详情,或列出所有已安装的技能。

下载

三、告警分级 + 多通道推送

不是所有异常都要发企业微信/邮件:

  • 一级(低危):单IP扫描行为 → 写入本地日志 + 控制台打印
  • 二级(中危):DDoS特征(SYN洪泛、UDP反射)→ 企业微信机器人@值班组
  • 三级(高危):HTTPS证书异常+大量404+User-Agent为空 → 邮件+短信双触达

用requests调用Webhook,用smtplib发邮件,短信可用阿里云API。所有告警带时间、源IP、目标IP、指标快照、原始包摘要(前64字节hex)。

四、加一层“白名单+抑制”防骚扰

上线后第一周必有误报。提前配置两个过滤层:

  • 静态白名单:运维跳板机IP、监控探针地址、CDN回源段(读取conf/whitelist.txt)
  • 动态抑制:同一IP 10分钟内重复告警只推第一次,记录到Redis缓存

白名单支持CIDR和正则(如^192\.168\.\d+\.\d+$),改完热加载,无需重启脚本。

基本上就这些。不复杂但容易忽略的是:抓包别用filter='tcp'硬过滤,否则漏掉伪造IP的UDP Flood;告警正文别只写“流量异常”,要带具体数值对比;还有——记得加信号捕获(SIGINT/SIGTERM),让Ctrl+C能优雅退出释放网卡。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2155

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3322

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1116

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

3799

2025.09.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5947

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2528

2023.08.10

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4569

2023.11.02

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4135

2023.11.14

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn