Snort - manual 笔记(一)
Chapter 1
Snort Overview
This manual is based on Writing Snort Rules by Martin Roesch and further work from Chris Green cmg@snort.org.It was then maintained by Brian Caswell <bmc@snort.organd now is maintained by the Snort Team. If you have a better way to say something or find that something in the documentation is outdated, drop us a line and we will update it. If you would like to submit patches for this document, you can find the latest version of the documentation in L A TEX format in the most recent source tarball under /doc/snort_manual.tex. Small documentation updates are the easiest way to help out the Snort Project.
1.1 Getting Started
- Sniffer mode, 嗅探模式, 将嗅探的数据输出到控制台(屏幕)
- Packet Logger mode, 日志模式, 将嗅探的数据输出到文件
- Network Intrusion Detection System (NIDS) mode, 网络入侵检测(NIDS) 模式, 检测和分析网络流量, 最为复杂配置最多
1.2 Sniffer Mode
输出 TCP/IP packet headers :
./snort -v
这个选项只会输出 IP TCP/UDP/ICMP headers ,
显示 application data :
./snort -vd
1.3 Packet Logger Mode
如果想把捕获的数据存入磁盘, 可用这个模式, 例如:
./snort -dev -l ./log
使用这个选项时, log 文件夹必须存在, 否则会报错
指定home network:
./snort -dev -l ./log -h 192.168.1.0/24
在高速网络环境下, 可以保存为二进制模式(Binary mode), 这样会将 tcpdump 格式储存为一个二进制文件:
./snort -l ./log -b
保存的二进制文件可以用 -r 选项载入查看:
./snort -dv -r packet.log
Snort 支持 BPF 过滤规则, 例如想查看 log 中关于的内容 ICMP :
./snort -dvr packet.log icmp
For more info on how to use the BPF interface, read the Snort and tcpdump man pages.
1.4 Network Intrusion Detection System Mode
启用NIDS模式, 可以简单的用以下命令 :
./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf
snort.conf 是 snort 的配置文件, -c 是启用配置文件, 后面跟的是配置文件存放的路径+文件名. 关于配置文件 snort.conf .
如果没有声明 ./log, 日志会默认存放在 /var/log/snort
如果要长期开着IDS模式, -v 和 -e 选项应该去掉, -v 输出到屏幕太慢 可能会丢包, -e 是记录数据链接的headers :
./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf
1.4.1 NIDS Mode Output Options
使用命令行可以快速调试, 比使用配置文件的优先级要高
输出警报信息到 syslog 可以使用 -s 选项, 默认的警报机制是 LOG AUTHPRIV 和 LOG ALER. 详细的 syslog output configuration 之后会讲.
例如, 用一下命令行可以记录默认的(ASCII解码)系统并且将警报信息输出到syslog :
./snort -c snort.conf -l ./log -h 192.168.1.0/24 -s
另一组命令会记录在 /var/log/snort 默认系统, 并发送警报信息到快速警报文件(fast alert file) :
./snort -c snort.conf -A fast -h 192.168.1.0/24
1.4.2 Understanding Standard Alert Output
Snort生成的警报信息格式一般是这样的:
[**] [116:56:1] (snort_decoder): T/TCP Detected [**]
第一个数字是 Generator ID (GID), 表示通过Snort什么组件生成的这个警报. GID的清单可以在 Snort 文件目录的 etc/generators 查看.
第二个数字是 Snort ID (SID), 也可以叫Signature ID. SID 的清单可以在 Snort 文件目 etc/gen-msg.map 查看. Rule-based SID 通过 sid 选项 直接写入规则(rules)文件.
第三个数字是 revision ID. 这个数字主要用来当签名使, 通过 rev 选项, 每次执行触发规则(rendition of the rule)的时候都会增加.
1.4.3 High Performance Configuration
如果你想让 Snort 执行的更快 (比如在1000Mbps的环境下), 你需要用 undified2 logging 和 undified2 log reader , 比如 barnyard2 . 这会允许Snort通过二进制形式记录, 性能比写入数据库快的多.
如果你想方便复制粘帖用文本文件记录的话, 用 'fast' 输出机制. 这样会通过 tcpdump 格式记录数据包, 产生最少的警报, 例如 :
./snort -b -A fast -c snort.conf
1.4.4 Changing Alert Order
默认的规则适用顺序并不一定满足所有要求. 规则的优先级如下
Pass rules > Drop rules > Log rules
有的时候 pass rule 会忽略一些警报, 为了获取更多信息可以通过 --alert-before-pass 选项 将 Alert rules 提前.
一些可以用来改变顺序的命令行:
- --alert-before-pass 强制将 alert rules 提前
- --treat-drop-as-alert 将 drop 和 reject rusles 一起其他相关警报作为 alert 记录.
- --process-all-events 处理所有事件.
Pass rules 是特殊情况, 如果遇到 pass rule, 事件也会不遵守 --process-all-events 被终止.
Snort - manual 笔记(一)的更多相关文章
- Snort - manual 笔记(五)
1.9 Miscellaneous 1.9.1 Running Snort as a Daemon 如果你想让Snort作为守护程序运行,你可以在最后加上 -D 选项.清注意如果你想通过发送一个 SI ...
- 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 下面的命令都可 ...
- 阅读Cortex-A53 Technical Reference Manual笔记
1. 前言 一颗芯片最主要的就是CPU核了,处理CPU Core之外,还存在很多其他IP,包括Graphical.Multimedia.Memory Controller.USB Controller ...
- snort学习笔记
Snort有三种工作模式:嗅探器.数据包记录器.网络入侵检测系统(ids). 嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上. 数据包记录器模式把数据包记录到硬盘上. 网络入侵检测模 ...
- 阅读GIC-500 Technical Reference Manual笔记
GIC-500是ARM GICv3的一个实现,它只支持ARMv8核和实现了GIC Stream协议的GIC CPU Interface,比如Cortex-A53. 关于GIC有四份相关文档:<C ...
- Snort - 配置文件
Snort.conf 版本 2.9.8.3 编译可用选项: --enable-gre --enable-mpls --enable-targetbased --enable-ppm --enable- ...
- 如何编写snort的检测规则
如何编写snort的检测规则 2013年09月08日 ⁄ 综合 ⁄ 共 16976字 前言 snort是一个强大的轻量级的网络入侵检测系统.它具有实时数据流量分析和日志IP网络数据包的能力,能够进行协 ...
随机推荐
- Nutch源码阅读进程5---updatedb
看nutch的源码仿佛就是一场谍战片,而构成这精彩绝伦的谍战剧情的就是nutch的每一个从inject->generate->fetch->parse->update的环节,首 ...
- Elasticsearch DSL中Query与Filter的不同
Elasticsearch支持很多查询方式,其中一种就是DSL,它是把请求写在JSON里面,然后进行相关的查询. 举个DSL例子 GET _search { "query": { ...
- JS魔法堂:元素克隆、剪切技术研究
一.前言 当需要新元素时我们可以通过 document.createElement 接口来创建一个全新的元素,也可以通过克隆已有元素的方式来获取一个新元素.而在部分浏览器中,通过复制来获取新元素的效率 ...
- 使用Microsoft Fakes进行单元测试(1)
一:什么是单元测试 单元测试是对软件进行准确性验证的步骤.单元测试并不进行整个软件功能的测试,仅仅是对于最小工作单元的测试.一般最小工作单元就是指方法/函数等. 这里并不打算对单元测试的概念及基础进行 ...
- jquery的ready事件的实现机制浅析
页面初始化中,用的较多的就是$(document).ready(function(){//代码}); 或 $(window).load(function(){//代码}); 他们的区别就是,ready ...
- ASP.NET MVC使用jQuery实现Autocomplete
Insus.NET的以前的ASP.NET MVC的练习中,也有实现过Autocomplete的功能.依次是使用jQuery来实现. 首先在数据库准备一些数据: CREATE TABLE [dbo].[ ...
- ASP.NET Core Web API 开发-RESTful API实现
ASP.NET Core Web API 开发-RESTful API实现 REST 介绍: 符合REST设计风格的Web API称为RESTful API. 具象状态传输(英文:Representa ...
- Windows平台下使用ffmpeg和segmenter实现m3u8直播点播
1.安装windows media service 实现 流媒体服务器功能 2.windows media编码器 实现 直播推流 3.使用 vlc 将 mms://127.0.0.1/live ...
- Firemonkey ListView 获取项目右方「>」(Accessory) 事件
适用:XE6 或更高版本 说明:ListView 在基本的项目里提供了 Accessory(项目右方「>」符号),但要如何分辨是否按下>或者项目本身呢?在 XE6 提供了 OnItemCl ...
- 实现在ios开发中的App滑动封面 UIScrollView
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. _scrol ...