snort

[[email protected] snort]# yum install wget
[[email protected] snort]# wget https://www.snort.org/downloads/snort/daq-2.0.4.tar.gz
[[email protected] snort]# wget https://www.snort.org/downloads/snort/snort-2.9.7.0.tar.gz
[[email protected] snort]# tar zxvf daq-2.0.4.tar.gz
[[email protected] snort]# tar zxvf snort-2.9.7.0.tar.gz

####养成习惯,编译前,先看readme,changelog等文件
[[email protected] snort]# cd daq-2.0.4
[[email protected] daq-2.0.4]# less README
[[email protected] daq-2.0.4]# less ChangeLog
[[email protected] daq-2.0.4]# less COPYING

####以下是一些要点记录
Snort 2.9 introduces the DAQ, or Data Acquisition library, for packet I/O.  The
DAQ replaces direct calls to libpcap functions with an abstraction layer that
facilitates operation on a variety of hardware and software interfaces without
requiring changes to Snort.  It is possible to select the DAQ type and mode
when invoking Snort to perform pcap readback or inline operation, etc.  The
DAQ library may be useful for other packet processing applications and the
modular nature allows you to build new modules for other platforms.

snort 2.9为包 I/O引入了DAQ或者叫数据采集库。
DAQ使用了一个抽象层,来替换直接调用libpcap库函数,这个抽象层使得在多种硬件与软件接口上的操作更容易,并且不需要snort的更改。
选择DAQ的类型与模式是可能的,当调用snort来完成pcap的回馈或者内在的操作等等
DAQ库对其它包处理程序和模块是有用的,它天然允许你为其它平台构建新的模块。

facilitates    促进,帮助,使...容易
abstraction layer    抽象层
DAQ    Data Acquisition library    数据捕获,采集库

Building the DAQ Library and DAQ Modules

PCAP Module    pcap is the default DAQ
AFPACKET Module
NFQ Module
IPQ Module
IPFW Module
Dump Module
Netmap Module

http://blog.csdn.net/htttw/article/details/7521053
柏克莱封包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发,除此之外,如果网卡驱动支持洪泛模式,那么它可以让网卡处于此种模式,这样可以收到网络上的所有包,不管他们的目的地是不是所在主机。
几乎所有的操作系统(BSD, AIX, Mac OS, Linux等)都会在内核中提供过滤数据包的方法,主要都是基于BSD Packet Filter(BPF)结构的。libpcap利用BPF来过滤数据包。
在UNIX或Linux系统中,一般采用由美国洛伦兹伯克利国家实验室所编写的专用于数据包捕获功能的API函数库Libpcap来实现。Libpcap实质上是一个系统独立的API函数接口,用于用户层次的数据截获工作,Libpcap接口支持基于BSD的数据包过滤器(BPF,Berkeley Packet Fliter)的数据过滤机制。

正式进入编译状态
[[email protected] daq-2.0.4]# ll|wc -l
21
[[email protected] daq-2.0.4]# ./configure --prefix=/root/snort/inst/
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/snort/daq-2.0.4‘:
configure: error: no acceptable C compiler found in $PATH
See `config.log‘ for more details
####这一步生成了config.log这个文件,方便排错
[[email protected] daq-2.0.4]# ll|wc -l
22
####看报错日志很重要
[[email protected] daq-2.0.4]# less config.log

####可以看报错日志,也可以看控制台输出
####看到了缺少gcc,此时安装gcc后再次运行configure
[[email protected] daq-2.0.4]# yum install gcc
[[email protected] daq-2.0.4]# ./configure --prefix=/root/snort/inst/
checking for getaddrinfo... yes
checking for flex... no
checking for bison... no
checking for capable lex... insufficient
configure: error: Your operating system‘s lex is insufficient to compile
         libsfbpf. You should install both bison and flex.
         flex is a lex replacement that has many advantages,
         including being able to compile libsfbpf.  For more
         information, see http://www.gnu.org/software/flex/flex.html .

Lex是LEXical compiler的缩写,是Unix环境下非常著名的工具, Lex (最早是埃里克·施密特和 Mike Lesk 制作)是许多 UNIX 系统的标准词法分析器(lexical analyzer)产生程式,而且这个工具所作的行为被详列为 POSIX 标准的一部分。Lex 主要功能是生成一个词法分析器(scanner)的 C 源码,描述规则采用正则表达式(regular expression)。描述词法分析器的文件 *.l 经过lex编译后,生成一个lex.yy.c 的文件,然后由 C 编译器编译生成一个词法分析器。词法分析器,简言之,就是将输入的各种符号,转化成相应的标识符(token),转化后的标识符很容易被后续阶段处理,如YACC 或 Bison,

Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用C语言写成。Flex手册里对 Flex 描述如下:
Flex是一个生成词法分析器的工具,它可以利用正则表达式来生成匹配相应字符串的C语言代码,其语法格式基本同Lex相同。
单词的描述称为模式(Lexical Pattern),模式一般用正规表达式进行精确描述。FLEX通过读取一个有规定格式的文本文件,输出一个C语言源程序。
FLEX的输入文件称为LEX源文件,它内含正规表达式和对相应模式处理的C语言代码。LEX源文件的扩展名习惯上用.l表示。FLEX通过对源文件的扫描自动生成相应的词法分析函数int yylex(),并将之输出到名规定为lex.yy.c的文件中。实用时,可将其改名为lexyy.c。该文件即为LEX的输出文件或输出的词法分析器。也可将int yylex()加入自已的工程文件中使用。

Bison翻译    http://blog.csdn.net/sirouni2003/article/details/400672
GNU bison 是属于 GNU 项目的一个语法分析器生成器。Bison 把一个关于“向前查看 从左到右 最右”(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。它也可以为二义文法生成 “通用的 从左到右 最右” (GLR)语法分析器。
Bison 基本上与 Yacc 兼容,并且在 Yacc 之上进行了改进。它经常和 Flex (一个自动的词法分析器生成器)一起使用。

####看到了缺少依赖,报错已给出了方法。
####再次安装

时间: 2024-10-29 19:07:37

snort的相关文章

pfSense设置Snort

概述 Snort是入侵检测和预防系统.它可以将检测到的网络事件记录到日志并阻止它们.Snort使用称为规则的检测签名进行操作. Snort规则可以由用户自定义创建,或者可以启用和下载几个预打包规则集中的任何一个. 最常用的是Snort VRT(漏洞研究团队)的规则. Snort VRT规则提供两种形式.一个是免费的注册用户版本,但需要在http://www.snort.org注册.免费版本仅提供最近的30天以内的规则.付费用户则提供每周两次的更新规则. 下面,我将在pfsense2.34系统中介

入侵检测系统 snort 安装配置

centos下安装 安装时将apache 和mysql服务安装上 yum -y install mysql-bench mysql-devel php-mysql gcc pcre-devel php-gd gd glib2-devel gcc-c++ libpcap-devel cd /root mkdir  snort cd snort wget http://www.snort.org/downloads/867(snort-2.9.0.5.tar.gz) wget http://www.

snort在使用过程中遇到的问题:ERROR: OpenAlertFile() => fopen() alert file log/alert.ids:No such file or directory

转自:http://www.cnblogs.com/kathmi/archive/2010/08/09/1795405.html Snort是著名的开源入侵检测工具,不仅它的嗅探功能极佳,在服务器安全方面也可提供安全防护. 近期因为涉及此项内容,故记录下来. 使用的软件如下: Snort_2_8_6_Installer.exe(按照默认路进安装即可) WinPcap_4_1_2.exe snortrules-snapshot-2860.tar.gz(规则库,解压到Snort的安装目录,如果提示重

搭建开源入侵检测系统Snort并实现与防火墙联动

Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行.BT5作为曾经的一款经典的渗透神器,基于 Ubuntu,里面已经预装很多的应用,比如Mysql.Apache.Snort等等.Guardian是snort的插件,通过读取snort报警日 志将入侵IP加入到Iptables中.Iptables 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统. 本文详细介绍了BT5中安装snrot NIDS并实现与iptables防火墙联动的过程.

CentOS6.5 安装snort

本机CentOS6.5最大化安装,以下安装所需组件也是最大化安装之后仍需自己安装的. 1.安装libpcap与libpcap-devel yum -y install libpcap* 2.安装libpcre yum -y install yum install pcre* 3.安装libdnet 推荐先添加epel源再按装此组件,参考:CentOS6.5 添加epel源 yum -y install libdnet* 4.下载最新版snort,网址 https://www.snort.org/

在ubuntu下安装snort

在这儿我只是做一个备份,全都来自如何在Ubuntu上安装Snort入侵检测系统 Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行.Ubuntu作为一个以桌面应用为主的Linux操作系统,同样也可以安装Snort. 安装Snort过程 [安装LAMP,Snort和一些软件库] 由于 Ubuntu 是 Debian 系的 Linux,安装软件非常简单,而且 Ubuntu 在中国科技大学有镜像,在教育网和科技网下载速度非常快(2~6M/s),就省掉了出国下载

snort重点汇总贴

规则处理框架 http://my.oschina.net/u/572632/blog/290351 快速匹配引擎构建 http://my.oschina.net/u/572632/blog/292514 报文采集 http://my.oschina.net/u/572632/blog/294582 其他模块分析 afpacket http://my.oschina.net/u/572632/blog/294600 BM模式匹配算法 http://my.oschina.net/u/572632/b

Centos下安装snort

Centos下安装snort 注:最近因需要安装入侵检测系统,上网找了下文档,大致相同,甚至不全,个人整理了下,有不足之处敬请谅解.保存仅为留个备份. 一.安装所需软件包 1.安装libpcap与libpcap-devel yum -y install libpcap*         2.安装libpcre       yum -y install pcre* 3.安装libdnet wget http://pkgs.repoforge.org/libdnet/libdnet-1.11-1.1

snort简介以及在Ubuntu下的安装

一.简介 Snort是一套开放源代码的网络入侵预防软件与网络入侵检测软件.Snort使用了以侦测签章(signature-based)与通信协议的侦测方法.Snort是一个免费的IDS(入侵监测系统)软件.它的一些源代码是从著名的tcpdump软件发展而来的.它是一个基于libpcap包的网络监控软件,可以作为一个十分有效的网络入侵监测系统.它能够监测多种网络攻击和探测,例如:缓冲器溢出攻击,端口扫描,CGI攻击,SMB探测等等.Snort具有实时的告警能力,将告警记入一个特别的告警文件--系统