调整问题: SIEM是一个管理系统,它采用syslog和其他类型的日志消息,并允许管理员以帮助他们更好地了解正在发生的事情的方式搜索、组合和报告日志。我正在与Splunk一起工作,并将Syslog (CEF)格式的消息发送给Splunk。当我向splunk发送两条消息时,这两条消息出现在这里看到的相同的消息中。
CEF:0|MyCompany|MyApp|2.0|Malicious|6|FileName <1286>Sep 16,2014年2:07:38 PM dbrLnxRv eicar.cab dname=www.csm-testcent.org dst=10.204.64.137 dpt=8080 prot=HTTP src=10.204.82.168 spt=49809 suser=“xAuthenticatedUser=”xAuthenticatedUser=“requestMethod=GET requestClientApplication="”suser= ThreatReason=0-1492-EICARFile.Detection_Test.Web.RTSS en21 en3 23 en3 3 en3 26 en3 29# 16,“2014 2:07:39 PM CEF:0|MyCompany|MyApp|2.0|Malicious|6|FileName eicar.cab dname=www.csm-testcent.org dst=85.214.28.69 dpt=80 prot=HTTP src=10.204.64.137 spt=40378 suser=“xAuthenticatedUser=”requestMethod=GET requestClientApplication=“reason=0-1492-EICARFile.Detection_Test.Web.RTSS request=http://www.csm-testcenter.org/download/archives/cab/eicar.cab”“ThreatReason=0-1492-EICARFile.Detection_Test.Web.RTSS en21 en3 23 en24 en26
我的问题是,我怎样才能让他们出现在不同的区块。当前在每条消息之间都有CR/LF (通过查看使用Wireshark的TCP事务来验证)。也尝试过添加NULL,但没有起到作用。我知道我在日期/时间上不属于MS,这是个问题吗?是否有我缺少的消息ID,它将迫使Splunk分离消息?其他想法?
(当通过UDP发送时,每个事件都出现在它自己的消息中)也尝试禁用nagle algo。还是同样的问题。
我创建了一个定制的C++应用程序,将暹粒消息从我的数据源发送到Splunk。如果我一次在套接字上发送6条SIEM消息,每条消息都由CR/LF分隔(我也尝试在消息之间添加一个NULL ),Splunk将它们放入一个事件中。我应该发送什么来使消息处于独特的事件中?我到处寻找SIEM协议的规范,没有在实际协议上找到和二进制基础文档。
发布于 2015-05-09 07:42:04
TCP是“流”协议,而不是面向消息的。它不维护消息边界。发送的内容不能保证以同样的方式阅读。由TCP上面的应用程序来解释字节并形成“消息”。
UDP维护消息边界。一个X字节的sendto将转换为X字节的recvfrom。尽管UDP不会保证消息会到达接收方。
以上所述的理由就是你所目睹的。多个send转换为单个recv,而在UDP中则相反。
发布于 2015-06-10 04:23:10
让它起作用
该协议使用basic /r/n来终止流,我在过去曾尝试过这样做。真正的诀窍在于Splunk的配置。需要创建一个名为props.conf的配置文件,并包括以下行
SHOULD_LINEMERGE=false
那一切都很好。
https://stackoverflow.com/questions/30134710
复制相似问题