suricata应用开发
文章平均质量分 77
强壮的向阳花
这个作者很懒,什么都没留下…
展开
-
suricata流表管理-流新建
FlowGetFlowFromHash分为三部分,流表空的状态处理,流表与数据包完成hash匹配为数据包关联对应的流。FlowWoker接口中处理每个数据包,通过FlowHandlePacket完成对每个数据包的流匹配和新建工。2)匹配到对应的流表,把这个表节点放在头部,并判断节点是否为待关闭状态(配置新的流)3、如果第一条流就是匹配的流,判断节点是否为待关闭状态(配置新的流)1)下一节点为空,拿一个新的节点放在流表头部。2、如果流表中有数据且头节点流不匹配数据包。原创 2024-01-11 15:04:12 · 358 阅读 · 0 评论 -
suricata基础介绍
报文处理流程->匹配协议->查看是否存在关于该协议的规则->根据header(五元组)确定使用的规则->异步处理(流处理:规则判断)->流处理(生成事件)->规则(决定对报文的动作)该部分依赖suricata的协议处理,通过suricata.yaml文件给定规则文件内容,通过文件中编写的规则对固定协议的流量进行检测,对命中规则细节的报文进行对应动作处理。Suricata 用户协会维护的一个中文文档,覆盖了 Suricata 的基础知识、安装配置、使用教程、高级功能等方面内容。Suricata 中文文档(原创 2024-01-29 18:08:53 · 1315 阅读 · 0 评论 -
suricata 开源工具学习-自定义协议开发
suricata协议解析存在PM、PP、PE三种模式,其中PM为数据报关键特征匹配,即匹配报文字段(类似规则中的content字段),PP为端口匹配,即服务器目的端口值匹配命中即确定为协议,最后一个PE为字节流匹配,目前常规只有FTP-DATA协议,其协议会根据FTP commend计算并创建紧跟的子协议。注册协议接口:在AppLayerParserRegisterProtocolParsers接口中插入协议的注册接口,在这个文件中要加入头文件。这里遍历结构查看是否存在异常,比如请求处理中加入的事件。原创 2024-01-25 11:53:50 · 1212 阅读 · 2 评论 -
suricata 开源工具学习-规则了解
匹配信用卡号码: pcre:"/([0-6]\d\d|7[0-256]\d|73[0-3]|77[0-2])-\d{2} - \d{4} /";1. TTL:匹配指定的TTL指,可使用关系运算符(< , =, >),可以用来识别操作系统类型。针对检测http流量的规则,Suricata提供了http流重组能力,同时提供了用于编写HTTP流量相关的更高效的规则修饰器。2. dsize:匹配一个指定payload大小的数据包,可使用关系运算符(< , =, >)原创 2024-01-24 14:29:09 · 984 阅读 · 1 评论 -
suricata 开源工具学习-规则 关键字开发应用
查看默认规则位置,打开suricata.yaml文件,找到rules部分,追加test.rules。这个规则的含义,数据包中存在连续ascll值http内容,且tcp首尾值10进制为104,110。suricata提供了组件式的开发方式,在SigTableSetup注册所有规则关键字。从上得出结论,每个检测关键字提供了三个检测功能,分别为数据包匹配,协议流匹配,和文件匹配。这个匹配接口实现,数据包负载部分首尾值匹配,匹配条件取决于规则中给出的首尾10进制内容。版本中使用,因为他是裁剪的所以我还是用主干。原创 2024-01-22 16:56:33 · 878 阅读 · 0 评论