Zeek 7.2.0 网络流量分析平台深度解析
2025-06-09 19:06:44作者:袁立春Spencer
项目概述
Zeek(前身为Bro)是一款开源的网络流量分析框架,专门设计用于网络流量分析领域。作为一个被动的网络流量分析器,Zeek能够深入解析网络协议、检测异常行为,并生成结构化的日志文件供分析人员使用。不同于传统的流量分析系统,Zeek采用基于脚本的策略引擎,使其具有极高的灵活性和可定制性。
核心功能更新
1. 存储框架革新
7.2.0版本引入了全新的存储框架,旨在逐步替代Broker提供的存储功能。这一框架包含以下关键特性:
- 新增存储后端插件API,支持多种存储引擎
- 提供SQLite和Redis两种内置后端实现
- 支持异步(使用when语句)和同步两种操作模式
- 设计上考虑了集群环境下的使用场景
开发者现在可以通过Storage::Async和Storage::Sync模块来操作存储后端,两种模式可以混合使用同一个后端句柄。Redis后端要求至少6.2.0版本的redis-server。
2. 集群架构优化
本次更新对集群组件进行了多项改进:
- ZeroMQ集群后端获得多项修复,包括正确性、性能和健壮性方面的提升
- 新增WebSocket功能,建议使用Cluster::listen_websocket()替代Broker::listen_websocket()
- 新增websocket_client_added和websocket_client_lost事件用于监控客户端连接状态
- 所有连接和监听的重试间隔统一缩短至1秒
3. 协议分析增强
多个协议分析器获得改进:
- HTTP分析器现在对HTTP-name字段进行大小写不敏感检查
- SSH横幅解析更加宽松,符合规范要求
- SNAP分析器现在同时使用OUI和协议标识符进行转发决策
- RDP分析器现在能够处理不含cookie字段的连接
- IRC协议确认机制更加健壮,需要验证有效命令
重要变更说明
行为变更
- is_remote_event()等函数在事件耗尽后不再返回先前事件的值
- to_int()函数现在对无效输入返回错误而非0
- 命令选项处理错误时不再自动显示用法信息
- --save-seeds现在会启用确定性模式,确保UID可重现
废弃功能
- DNS主机名字面量解析已被弃用,建议使用blocking_lookup_hostname()
- Broker::listen_websocket()被标记为弃用
- Broker::congestion_queue_size调优参数将在未来移除
移除功能
- broker_buffered_messages指标已被移除,改用新的每对等连接指标
开发者关注点
脚本语言增强
- 类型现在可以作为常量使用,无需别名即可直接传递给BIF
- 包含pattern值的向量现在支持==和!=比较操作
- 新增is_valid_subnet()函数,补充现有的is_valid_ip()
性能监控
Broker新增了三个重要指标来监控对等连接缓冲区的健康状况:
- zeek_broker_peer_buffer_messages:当前缓冲区填充水平
- zeek_broker_peer_buffer_recent_max_messages:最近最大填充水平
- zeek_broker_peer_buffer_overflows_total:缓冲区溢出计数
安全相关更新
私有地址空间扩展
Site::private_address_space定义的不可路由子网范围已扩展,新增:
- 239.0.0.0/8
- 224.0.0.0/24
- [2002:e000::]/40
- [2002:ef00::]/24
- [fec0::]/10
这些地址来自RFC 2365、3058、3879和5771,可能导致部分流量被重新分类为本地流量。
构建系统改进
- 移除了对BIND库的构建依赖(自5.0版起实际已不再需要)
- 改进了libkrb5头文件的搜索机制,取消了对Linux平台的限制
- ZeekJS文档现在默认包含在主文档中
总结
Zeek 7.2.0版本在网络流量分析深度、系统可靠性和开发者体验方面都做出了显著改进。新的存储框架为未来功能扩展奠定了基础,集群组件的优化提升了大规模部署的稳定性,而众多协议分析器的增强则进一步提高了网络流量解析的准确性。对于分析团队而言,这些改进意味着更可靠的数据和更高效的流量分析能力。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0248- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
641
4.19 K
Ascend Extension for PyTorch
Python
478
579
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
934
841
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
386
272
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.52 K
866
暂无简介
Dart
885
211
仓颉编程语言运行时与标准库。
Cangjie
161
922
昇腾LLM分布式训练框架
Python
139
163
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21