软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
使用snort-1.8.0的体验

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

使用snort-1.8.0的体验

 Author Gnicky URL:http://blog.csdn.net/loconfuse

 最近写的东西更像是个记录过程,这是我的思维习惯,也许你不是这样的--)
    从某种意义上来说,本来是想通过
snort-1.8编译生成一个spo_xml.out的输出插件,然后让其在snort2.0下工作的(编译的部分交给1.8,在2.0当中只是在关键字注册的时候调用一下,这样应该可以在2.0下使用xml output plugin,有些取巧的想法)

结果折腾下,根据提示要求的class .include等等,把1.8版本下的输出插件生成好了,转念想来,那岂不是在这个目录下的snort就可以尝试xml输出了,何必费那番周折。心里总是对这个1.8版本有些担心,版本的升级必然解决了许多的bug,高版本一般来说要比低版本稳定,安全。但就snort而言,高版本比低版本少了好些功能,也许也增加了好些特点,只是我目前还没有了解到,惭愧%

使用xml output plugin

修改下规则文件,采用redalert,在redalert中采用xml插件:output xml log, file=/var/log/snortxml,运行起来,到var/log中去发现一堆的xml文件,怎么居然是不按照集中管理的一个xml文件?观察文件发现其中仅仅包含了xml文件的格式<?xml version****><file></file>,并没有记录数据,文件的创建日期是今天。却意外发现上面也有一些xml的日志文件,时间是昨天的这个时候,昨日以为的失败,居然也产生了alert.xml文件?也很是纳闷。其中的内容更是离奇,连一个标准的xml框架也算不上,<?xml version****><file>倒是少了</file>

Xml Log文件的命名规则是这样的:conf中定义的文件名称+日期+@编号(自增长型)。由于一个linux系统下安装了34个不同版本的snort,自己也有些晕了,昨日的那些xml logsnort2.2.0生成的,也许那个时候的xml plugin植入2.2.0有些成果了,但现在2.2运行不起来,那个2.2.0因为某些修改,居然对detection的一个plugin不认识了,unknown preprocessor “http inspect”, unknown preprocessor “http inspect server”

解决数据无法录入xml的问题:

假如你的xml log文件中没有数据,可以尝试下,根据xml文件的内容,应该是dtd格式文件的存放路径有关,于是把snml文件从contribcopy到主目录中,结果在/var/log中发现一个2.5M的文件J

下面简单分析下xml文件DTD以及content,首先通过xml log中截取的部分内容来学习下:(有些东西,我也是胡乱猜测,希望能够得到大家的指正)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE snort-message-version-0.1>

<file>-------------------基本结构对应了</file>

   <event version="1.0">------event generate log action,many event types

    <sensor encoding="hex" detail="full">--some of the libpcaps propertydefault full/fast etc

        <interface>eth0</interface>--eth0 enternet One

        <ipaddr version="4">192.168.0.59</ipaddr> ipV4

        <hostname>loc***domain</hostname> your listening host

     ---------------some thing upper is the same as any other, these property in blog <sensor>, some times you may have a lot of sensor, this content will different.

    </sensor>

    <signature>FTP MDTM overflow attempt</signature> ---the content is the msg in rulesJ

    <timestamp>2005-01-31 22:27:06+08</timestamp>

    <packet>

      <iphdr saddr="192.168.0.2" daddr="192.168.0.59" proto="6" ver="4" hlen="5" len="64" id="3708" ttl="128" csum="27310">

        <tcphdr sport="808" dport="33318" flags="18" seq="2239921477" ack="1007640368" off="11" win="16920" csum="20263">

          <option code="2" len="4">05820103</option>

          <option code="1"/>

          <option code="3" len="3">000101</option>

          <option code="1"/>

          <option code="1"/>

          <option code="8" len="10">00000000000000000101</option>

          <option code="1"/>

          <option code="1"/>

          <option code="4"/>

        </tcphdr>

      </iphdr>

    </packet>

  </event> 

  <event version="1.0">

    <sensor encoding="hex" detail="full">

      <interface>eth0</interface>

      <ipaddr version="4">192.168.0.59</ipaddr>

      <hostname>loca***/hostname>

    </sensor>

    <signature>FTP MDTM overflow attempt</signature>

    <timestamp>2005-01-31 22:27:06+08</timestamp>

    <packet>

      <iphdr saddr="192.168.0.59" daddr="192.168.0.2" proto="6" ver="4" hlen="5" len="1450" id="16575" ttl="64" csum="29441">

        <tcphdr sport="33318" dport="808" flags="16" seq="1007640368" ack="2239921478" off="8" win="5840" csum="25443">

          <option code="1"/>

          <option code="1"/>

          <option code="8" len="10">00041F97000000004745</option>----所有的option目前还没学习<data>7C6C623A307C2A7C313130373039343738363535362E3132397C7069643A33312D372D31352D332D313333343030377C66696E616E63652E73722F73746F636B2F686B73746F636B6E6577732F32303035303133312F30343337313333343030372E7368746D6C7C73743A39362E3332357C65743A313130373039343836353732377C7C68703A756E6B6F776E7C6C623A307C2A7C313130373039343738363535362E3132397C7069643A33312D372D382D302D313333343533327C66696E616E63652E73722F73746F636B2F792F32303035303133312F30383231313333343533322E7368746D6C7C73743A36322E3434327C65743A313130373039343938303531337C33312D372D31352D332D313333343030377C68703A756E6B6F776E7C6C623A307C2A7C313130373039343738363535362E3132397C7069643A33312D31322D322D302D313333343233307C66696E616E63652E73722F672F32303035303133312F30363434313333343233302E7368746D6C7C73743A32352E3331357C65743A313130373039353139373339317C33312D372D382D302D313333343533327C68703A756E6B6F776E7C6C623A307C2A7C313130373039343738363535362E3132397C7069643A33312D372D382D302D313332383634367C66696E616E63652E73722F73746F636B2F792F32303035303132382F30313430313332383634362E7368746D6C7C73743A33332E3936</data>--这堆东西人能翻译出来吗?

        </tcphdr>

      </iphdr>

    </packet>

</event>

</file>

再看一下dtd中的描述:<!ELEMENT event (sensor, signature, reference*, timestamp, packet)>

就会明白当前的结构,reference*为什么在这里没有,为什么用*,不明白,但是发现一点关于referencedetection文件即sp_reference在后续的版本中已经被删除了。这和之前对该文件消失的分析道理是一样的,可见当初在snort设计的时候,隐含的问题也隐含了处理方法。

我想关心分析器的应该会关心data element

<!-- This field contains a representation of data. The encoding of this data hex, base64, or ascii is defined as an attribute to the sensor tag. -->

<!ELEMENT data (#PCDATA)>可以选择看到的data内容格式,比如现在看到的hex,base64,最节省时间空间的ascii,只是不会有我们能够轻易读懂的,因为数据采集的层次问题,这个和网络的ISO模型有关/




相关文章

相关软件