Snort - manual 笔记(五)
1.9 Miscellaneous
1.9.1 Running Snort as a Daemon
如果你想让Snort作为守护程序运行,你可以在最后加上 -D 选项。清注意如果你想通过发送一个 SIGHUP 信号到守护程序重启Snort,必须指定启动Snort的绝对路径,例如:
/usr/local/bin/snort -d -h 192.168.1.0/24 \
-l /var/log/snortlogs -c /usr/local/etc/snort.conf -s -D
出于安全性考虑,不支持相对路径。
Snort PID File
当Snort作为守护程序(daemon)运行,守护程序在log目录会产生一个PID文件。 在Snort 2.6版本中加入 --pid-path 命令行选项 ,可以指定Snort PID文件生成目录。
此外,--create-pidfile 选项可以用来强制生成PID文件,即使没有以守护程序模式运行。
PID文件将会锁定来阻止其他snort进程启动。使用 --nolock-pidfile 选项取消锁定PID文件。
如果不希望在PID文件中包括接口名(interface name),使用 --no-interface-pidfile 选项。
1.9.2 Running in Rule Stub Creation Mode
如果需要将分享的对象规则村到一个目录,必须使用 -dump-dynamic-rules 命令行选项。这些规则储存文件(stub files)经常和分享的对象规则(shared object rules)连在一起。可以使用绝对路径和相对路径。
/usr/local/bin/snort -c /usr/local/etc/snort.conf \
--dump-dynamic-rules=/tmp
路径也可以在 snort.conf 中配置:
config dump-dynamic-rules-path: /tmp/sorules
通过命令行配置的目录优先级高于配置文件:
/usr/local/bin/snort -c /usr/local/etc/snort.conf \
--dump-dynamic-rules
snort.conf:
config dump-dynamic-rules-path: /tmp/sorules
在上述方案中会将转储目录设为 /tmp/sorules 。
1.9.3 Obfuscating IP Address Printouts
如果需要发送包日志到公共的 mailing lists,也许会用到 -O 选项。这个选项会混淆输出的IP地址。也可以组合使用 -O 和 -h ,这样只会混淆家庭网络(home network)的主机的IP地址。例如,你可以使用以下命令从日志文件中读取并且输出到屏幕,混淆 192.168.1.0/24 网段的ip地址。
./snort -d -v -r snort.log -O -h 192.168.1.0/24
1.9.4 Specifying Multiple-Instance Identifiers
在Snort v2.4 中加入了 -G 命令行选项。可以给事件日志指定一个实例的标识符。这个选项可以在snort运行多实例(multiple instances)使用,可以在不同的CPU上或者一个CPU上不同的接口使用。每个Snort实例都会使用指定的值去生成唯一的事件ID。用户可以指定一个十进制值 -G 1 或者十六进制值 -G 0x11。同时支持通过长选项 --logid。
1.9.5 Snort Modes
Snort 可以运行在3中不同的模式: tap(passive), inline, inline-test. Snort的策略也可以用于这三种模式。
Explanation of Modes
Inline
当Snort工作在Inline模式,Snort作为IPS运行,允许触发drop规则。Snort可以通过命令行 -Q 选项和配置文件选项 policy_modes 工作inline模式:
snort -Q
config policy_mode:inline
Passive
当Snort工作在Passive模式,Snort作为IDS运行,drop规则没有加载(不使用 -treat-drop-as-alert的情况下)。Snort可以通过配置文件选项 policy mode 工作passive模式:
config policy_mode:tap
Inline-Test
Inline-test模式会模拟Snort的inline模式,允许在不影响流量的情况下评估inline行为。drop规则会被加载而且将会触发为 Wdrop(Would Drop) 告警。Snort 可以用命令行选项 –enable-inline-test 或者配置文件选项 policy_modes 工作inline-test模式:
snort --enable-inline-test
config policy_mode:inline_test
注意:
--enable-inline-test不可以和 -Q 一起使用。
不同模式的规则选项行为:

不同模式的规则动作行为:

1.10 Control socket
Snort可以配置提供一个可以被用来发命令到运行中的进程的Unix socket。必须在build时使用 --enable-control-socket 选项。目前只支持 linux 。
Snort可以使用命令行选项 --cs-dir <path> 和配置文件选项 cs_dir 配置:
snort --cs-dir <path>
config cs_dir:<path>
<path> 指定snort生成socket的目录。如果使用相对路径,是相对pid的路径,如果没有指定pid路径,就是相对当前目录的路径。
用 --enable-control-socket build后,在snort的bin目录下会增加 snort control 命令。
1.11 Configure signal value
在一些其他的系统中,snort用的一些信号也被其他的函数使用了。为了避免冲突,用户可以通过 ./configure 选项改变默认的信号值。
以下信号可以改变:
- SIGNAL SNORT RELOAD
- SIGNAL SNORT DUMP STATS
- SIGNAL SNORT ROTATE STATS
- SIGNAL SNORT READ ATTR TBL
语法:
./configure SIGNAL_SNORT_RELOAD=<value/name> SIGNAL_SNORT_DUMP_STATS=<value/name>\
SIGNAL_SNORT_READ_ATTR_TBL=<value/name> SIGNAL_SNORT_ROTATE_STATS=<value/name>
可以将这些信号改为用户定义的值或者系统中已知的信号名。下面这个例子是将 rotate stats 信号改为 31 和 重载 表属性信号 SIGUSR2 :
./configure SIGNAL_SNORT_ROTATE_STATS=31 SIGNAL_SNORT_READ_ATTR_TBL=SIGUSR2
如果相同的信号被指定多次警告,将会在snort初始化时记录。如果一个信号处理不能安装,将会记录一个警告而且需要修复,否则将会失去功能。
Snort中用到的信号:

Snort - manual 笔记(五)的更多相关文章
- Snort - manual 笔记(一)
Chapter 1 Snort Overview This manual is based on Writing Snort Rules by Martin Roesch and further wo ...
- Snort - manual 笔记(四)
1.7 Basic Output Snort可以做很多任务, 并且在任务完成后输出很多有用的统计信息. 一些不用说明就可以看懂, 其他的总结在这里, 不过只是一些基本的 1.7.1 Timing St ...
- Snort - manual 笔记(二)
1.5 Packet Acquisition Snort 2.9 引入 DAQ 代替直接调用 libpcap . 有两种网卡特性会影响 Snort : "Large Receive Offl ...
- Snort - manual 笔记(三)
1.6 Reading pcap files Snort 不仅可以监听interface, 还可以读取和分析已经捕获的数据包. 1.6.1 Command line arguments 下面的命令都可 ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- 《MFC游戏开发》笔记五 定时器和简单动画
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9332377 作者:七十一雾央 新浪微博:http:// ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- Crazyflie笔记五: CRTP 实时通信协议(一)(转)
源:Crazyflie笔记五: CRTP 实时通信协议(一) 这里详细介绍了 Crazyflie 的 CRTP实时通信协议的相关内容,由于内容很长,分几篇博文来讲述.这里是第一节内容.欢迎交流:301 ...
随机推荐
- Advice for students of machine learning--转
原文地址:http://www.mimno.org/articles/ml-learn/ written by david mimno One of my students recently aske ...
- Cordova webapp实战开发:(5)如何写一个Andorid下自动更新的插件?
在 <Cordova webapp实战开发:(4)Android环境搭建>中我们搭建好了开发环境,也给大家布置了调用插件的预习作业,做得如何了呢?今天我们来学一下如何自己从头建立一个And ...
- ASP.NET 文件下载
using System; using System.Web; using System.IO; public partial class _Default : System.Web.UI.Page ...
- SpringAOP使用扩展
在<初识Spring>中我们了解到Spring支持AOP且可配置方法的前置曾强和后置曾强,但其实Spring支持多种曾强类型.下面同过一些例子来介绍Spring的几种常用的曾强(前置增强和 ...
- IStream 接口
IStream 接口 https://msdn.microsoft.com/en-us/library/windows/apps/aa380034 IStream接口允许您读取和写入 stream ...
- C语言学习004:数组与指针
在C语言中,字符串实际上就是字符数组,在内存中字符串"Shatner"存储的形式是这样的
- Get sdcard directory by adb
解决方案: adb shell echo $EXTERNAL_STORAGE I am making an application, which pulls files(Saved by andro ...
- 表单input中录入资料的检查方法及示例
本文内容 表单录入信息的检查原则 常见检查的三种方法 示例 输入框有字符长度的限制 输入框有输入字符个数范围的限制 知识补给--检查方式的介绍 输入框只可(或不可)输入数 ...
- C#调用Java方法(详细实例)
C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...
- java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
采用SSH框架时出现了 java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage ...