SentinelFlow
SentinelFlow 实时网络入侵检测系统可捕获实时流量或处理 pcap 文件,解析多个 OSI 层的协议头,识别已知攻击签名与异常,并将安全告警导出到控制台和 CSV。
01 / 概览
- 01C++17
- 02libpcap
- 03CMake
- 04Google Test
- 05受 Snort 启发的规则
- 06BPF 过滤器
问题
网络入侵检测需要在线速下执行深度包检测。商业 IDS 不透明;从零构建可以展示协议解析、签名匹配和有状态分析的工作原理。
解决方案概述
- 实现 Ethernet、IPv4、TCP、UDP、ICMP、DNS 和 ARP 分层解析。
- 构建受 Snort 启发、可配置的规则引擎,灵活匹配签名。
- 加入端口扫描、SYN 洪泛和 DNS 隧道的有状态检测。
- 吞吐量优化达到每秒 500K+ 包,单线程解析、合成 SYN 流量。
02 / 证据
证明与验证
- 每秒 500K+ 包,单线程解析、合成 SYN 流量。
- 覆盖 7 个协议和 2-7 层。
- 27 项单元/集成测试全部通过。
- 支持实时捕获和 pcap 文件分析。
03 / 方法
构建
技术栈
- C++17
- libpcap
- CMake
- Google Test
- 受 Snort 启发的规则
- BPF 过滤器
- 使用 libpcap 实时捕获,配合可配置 BPF 过滤器。
- 分层解析 Ethernet、IPv4、TCP、UDP、ICMP、DNS 和 ARP。
- 受 Snort 启发、可配置且支持签名匹配的规则引擎。
- 有状态检测端口扫描、SYN 洪泛和 DNS 隧道。
安全
- 按严重程度着色告警,范围 LOW 至 CRITICAL。
- 27 项单元/集成测试覆盖所有协议层。
- CSV 导出用于取证分析和 SIEM 集成。
- 可配置 BPF 过滤器用于定向捕获。