前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

网络入侵检测系统之Suricata(三)--日志代码详解

qiguaw 2024-09-11 06:24:19 资源文章 23 ℃ 0 评论

Log Module

Q1:suricata日志以什么文件格式存储?

分为三类:json、log,pcap格式


Q2:suricata日志都分了哪些级别?

日志level分为:Emergency、Alert、Critical、Error、Warning、Notice、Info,Debug


Q3:suricata日志记录哪些信息,内容以什么形式组织的?

  1. eve.json

suricata所有的告警,元数据,文件信息和特定协议记录都会记录在eve.json中,事件类型 分为alert、http、dns、tls,drop


2.
fast.log

3. http.log

4. dns.log

5. stats.log

6. drop.log
被丢弃的报文合集

7. log.pcap.timestamp
pcap报文

8. 自定义日志输出
利用Lua脚本,只需要重写4个函数:init(),setup(),log(),deinit()
即可以自定义日志输出格式

Q4:suricata用什么技术记录这些日志的?

Suricata使用的默认运行模式是autofp(代表“自动流绑定负载均衡模式”)。在这种模式下,来自每一路流的数据包被分配给单一的检测线程。



Suricata上电时,通过yaml配置文件将需要激活的output module以全局变量链表list串联起来,检测线程将数据送到output queque后,Output线程查看output_queue,队列里面是通用数据,接着会按active register依次将通用数据转换成不同种类日志,并完成打印日志


Q5:suricata写盘的时机是怎么样的?

autofp模式会产生一个outputs线程,再检测线程检测完毕后,会调用output线程,告知其新数据来了,然后outputs统一将output_queue数据写盘


Code Review

日志实现原理

日志数据流


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表