背景:
公司需要扩展产品线,推出一款X86下DPI的产品,本人为架构师,主要负责产品的关键技术研究,产品架构的搭建,任务的分解分配,在不设计到公司机密的情况下,每天记录下点滴。
产品主要借鉴开源snort,目前本人已经大概全部看完,被其插件的设计思想深深打动。
以下是初步的设计框架:(见图片)
插件名称 |
插件功能 |
预处理插件: |
协议解码,协议合法性检查,分片重组,会话连接,端口学习,模式匹配,策略模板,特征过滤,acl过滤,异常检查,协议关联认证。 |
输出插件 |
CLI,系统监控,日志,告警,数据库,抓包,统计,调试。 |
规则库插件: |
拟采用:动作,协议,规则三级链表。热重启的冗余备份注册 |
检测插件: |
对象识别,检测算法注册,hash算法注册,黑白名单 |
以上插件全部采用 |