项目简介
本项目是基于wolfSentry的网络安全监控系统,借助动态配置逻辑与策略,对网络流量进行安全监控与控制。wolfSentry作为开源的嵌入式入侵检测和防御系统(IDPS),能与wolfSSL库无缝集成,具备加密通信能力,可广泛用于FreeRTOS、Zephyr等资源受限的嵌入式实时操作系统环境。
项目的主要特性和功能
- 支持通过JSON格式配置文件动态定义监控规则与动作,灵活满足不同网络安全需求。
- 基于事件驱动架构,可处理网络流量中的连接、断开、数据接收等事件。
- 利用wolfSSL库提供加密通信功能,保障网络流量安全。
- 用户能通过API或回调函数自定义动作处理逻辑,实现复杂流量控制。
- 支持监控TCP、UDP、ICMP等多种网络协议,适用于多种网络应用场景。
- 专为资源受限的嵌入式环境设计,代码与内存占用小,适合在ARM等嵌入式CPU和MCU上运行。
安装使用步骤
环境准备
- 确保系统安装了C语言编译器(如GCC)。
- 安装wolfSSL库,并将其路径配置到系统环境变量中。
- 若需支持FreeRTOS或lwIP,确保已下载并配置好这些库的源码。
构建项目
- 复制或下载本项目源码。
- 进入项目根目录,运行以下命令进行构建:
bash make -j test
若需要更详细的构建信息,可使用:bash make V=1 -j test
运行测试
构建完成后,运行以下命令执行单元测试:
bash
make -j check
这将运行一系列内存和线程测试,确保wolfSentry功能正常。
配置和使用
- 编写JSON格式的配置文件,定义监控规则和动作。示例配置文件位于
tests/test-config.json
和tests/test-config-numeric.json
。 - 运行wolfSentry程序,加载配置文件并开始监控网络流量:
bash ./wolfsentry --wolfsentry-config <配置文件路径>
其他构建选项
- 单线程模式:若不需要多线程支持,可使用以下命令构建:
bash make -j SINGLETHREADED=1 test
- 最小化构建:为最小化代码占用空间,可使用以下命令:
bash make -j SINGLETHREADED=1 NO_STDIO=1 DEBUG= OPTIM=-Os EXTRA_CFLAGS='-DWOLFSENTRY_NO_CLOCK_BUILTIN -DWOLFSENTRY_NO_MALLOC_BUILTIN -DWOLFSENTRY_NO_ERROR_STRINGS -Wno-error=inline -Wno-inline'
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】