博客主机
A-A+

suricata 3.1 源码分析6

2017年08月10日 suricata 暂无评论
博客主机

 if (suri.run_mode != RUNMODE_UNIX_SOCKET) {
            FlowInitConfig(FLOW_VERBOSE);

初始化Flow engine。用来表示一条TCP/UDP/ICMP/SCTP流的,程序当前所记录的所有流便组成了流表,在flow引擎中,流表为flow_hash这个全局变量,其类型为FlowBucket *,而FlowBucket中则能够存储一个Flow链表,典型的一张chained hash Table。在初始化函数FlowInitConfig中,首先会使用配置文件信息填充flow_config,然后会按照配置中的hash_size为流表实际分配内存,接着按照prealloc进行流的预分配(FlowAlloc->FlowEnqueue,存储在flow_spare_q这个FlowQueue类型的队列中),最后调用FlowInitFlowProto为流表所用于的各种流协议进行配置,主要是设置timeout时间。

        StreamTcpInitConfig(STREAM_VERBOSE);

初始化Stream TCP模块。其中调用了StreamTcpReassembleInit函数进行重组模块初始化。

        IPPairInitConfig(IPPAIR_VERBOSE);

初始化ippair engine,默认不开启。

        AppLayerRegisterGlobalCounters();

注册应用层全局计数器
“dns.memuse”,”dns.memcap_state”,”dns.memcap_global”,”http.memuse”,”http.memcap”到stats_ctx中。
}

标签:
博客主机

给我留言

Copyright © 九毛的官方博客 保留所有权利.   Theme  Ality

用户登录

分享到: