OSSIM-agent源代码分析(一)

本文简述了OSSIM Agent的主要职责是收集并标准化网络设备数据,然后发送给OSSIM Server。当Agent与Server连接断开时,会保存事件并在重新连接后发送。接着,对`Agent.py`的`main`函数中的守护进程模块进行了初步分析,包括守护进程的行为设定,如工作目录、文件掩码、标准I/O流重定向等。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

OSSIM-agent源代码分析(一)

1、简述

OSSIM Agent的主要职责是收集网络上存在的各种设备发送的所有数据,然后按照一种标准方式(standardized way)有序的发送给OSSIM Server,Agent收集到数据后在发送给Server之前要对这些数据进行标准化处理,这样Server就可以依一种统一的方式来处理这些信息,并且也简化了Server的处理过程。

OSSIM Server接收到的每一个事件都是被某个Agent事先处理过的,即便是当一个Server只有另外一个Server(被设计用来只负责转发数据的server)和他链接时(即该server不和Agent直接链接,而是和别的Server链接),那个处在这个链接链的最后的那个Server的数据肯定也是某个Agent处理后发送过来的。

OSSIM Agent发送给Server的数据,绝大多数情况下是通过读取网络设备终端中的日志文件得来的。OSSIM有计划将来会实现从其他类型的数据来源(如DB或Socket)中读取数据信息。

Agent和Server的连接断掉后,Agent便不能将事件发送给Server了,但是Agent会将这些事件入栈(stacks),当连接重新建立后Agent会自动将这些事件按照到达的顺序发送给Server端

2、Agent.py源码分析

本部分将对agent模块中的最核心的代码文件Agent.py的源代码中main函数的守护进程模块进行初步分析

Agent.py使用python语言编写

import os
import sys
import time
import signal
import threading
import socket
import codecs
import uuid
import yaml
import subprocess as sub
from Config import Conf, Plugin, Aliases, CommandLineOptions
from ConfigParser import Error as BaseConfigError
from ParserLog import ParserLog
from ParserJson import ParserJson
from Watchdog import Watchdog
from Logger import Logger
from Output import Output
from Stats import Stats
from Conn import ServerConn, IDMConn, FrameworkConn
from Exceptions import AgentCritical
from ParserDatabase import ParserD
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值