SOC的二三事——流量分析之Snort(2)

admin 2025-12-22 04:05:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档介绍了Snort入侵检测系统的基本使用方法,包括命令行操作、PCAP文件处理、日志配置和规则编写。重点讲解了Snort规则的组成结构(规则头部和规则选项)及各字段功能,并提供了目录遍历检测规则示例。内容实用,适合安全运维人员学习Snort的基础配置和规则开发。 综合评分: 88 文章分类: 网络安全,安全工具,安全运营


cover_image

SOC的二三事——流量分析之Snort(2)

原创

01iver Sec

01iver的安全小圈

2025年10月30日 17:30 北京

Snort 速查手册

Snort 速查手册 – TryHackMe.pdf(中文翻译版)

SNORT 基础入门

全局命令

查看版本:

Snort -V

Snort -version

不显示版本横幅:

Snort -q

使用指定网络接口:

Snort -i eth0

嗅探模式

详细模式:

Snort -v

显示数据链路层头部:

Snort -e

显示数据载荷:

Snort -d

以十六进制(HEX)格式显示完整数据包详情:

Snort -X

多参数联用(显示所有数据包详情):

Snort -eX

嗅探“N”个数据包:

Snort -v -n 10

PCAP 文件处理

处理单个 PCAP 文件:

Snort -c /etc/snort/snort.conf -q -r file.pcap -A console

处理多个 PCAP 文件:

Snort -c /etc/snort/snort.conf -q –pcap-list= “file1.pcap file2.pcap” -A console

处理文件夹中的 PCAP 文件:

Snort -c /etc/snort/snort.conf -q –pcap-dir=/home/pcap-folder -A console

显示正在处理的 PCAP 文件名:

Snort -c /etc/snort/snort.conf -q –pcap-list=”file1.pcap file2.pcap” -A console –pcap-show

日志模式

默认日志路径:

/var/log/snort

使用自定义日志路径:

Snort -v -l /home/username/Desktop

以 ASCII 格式记录日志:

Snort -v -K ASCII

读取 Snort 日志文件:

Snort -v -r snort.log

日志(LOG)

读取日志文件中的“N”个数据包:

Snort -v -r snort.log -n 10

默认日志路径 →

/var/log/snort

使用“伯克利数据包过滤器(BPF)”过滤数据包:

Snort -v -r snort.log tcp

Snort -v -r snort.log ‘udp and port 53’

IDS/IPS 模式

使用配置文件:

Snort -c /etc/snort/snort.conf

测试实例与配置文件(验证配置有效性):

Snort -c /etc/snort/snort.conf -T

禁用日志功能:

Snort -c /etc/snort/snort.conf -N

后台运行 Snort:

Snort -c /etc/snort/snort.conf -D

告警模式 1 | 无输出:

Snort -c /etc/snort/snort.conf -v -A none

告警模式 2 | 控制台输出 1:

Snort -c /etc/snort/snort.conf -v -A console

告警模式 2 | 控制台输出 2:

Snort -c /etc/snort/snort.conf -v -A cmg

告警模式 3 | 文件输出 1:

Snort -c /etc/snort/snort.conf -v -A fast

告警模式 3 | 文件输出 2:

Snort -c /etc/snort/snort.conf -v -A full

不使用主配置文件,仅使用规则文件:

Snort -c /etc/snort/rules/local.rules -v -A console

Snort 规则解析

规则组成模块(按逻辑顺序):

动作(Action)→ 协议(Protocol)→ 源 IP(Source IP)→ 源端口(Source Port)→ 方向(Direction)→ 目的 IP(Destination IP)→ 目的端口(Destination Port)

•规则头部(Rule Header)

•规则选项(Rule Options):包含通用规则选项(General Rule Options)、载荷检测选项(Payload Detection Options)、非载荷检测选项(Non-Payload Detection Rule Options)、检测后规则选项(Post-Detection Rule Options)

Snort 规则的两个逻辑部分:

1.规则头部:包含网络层面的信息,包括动作、协议、源 IP 地址、目的 IP 地址、端口号以及流量方向;

2.规则选项:包含数据包层面的检测细节,包括消息、参考信息、流以及内容。

示例规则

用于检测“目录遍历尝试”的告警规则

alert tcp HOME_NET $HTTP_PORTS ( msg:”Directory Traversal Attempt!”; flow:established; nocase; content:”HTTP”; fast_pattern; content:”| 2E 2E 2F|”; content:”/..”; session:all; reference:CVE,XXX; sid:100001; rev:1;)

规则各字段解析表

| | | | | — | — | — | | 规则模块 | 字段/参数 | 说明 | | 规则头部 | alert | 动作:该选项指定 Snort 在规则匹配时执行的操作 | | 规则头部 | tcp | 待分析协议:支持的协议包括 TCP、UDP、ICMP、IP | | 规则头部 | $EXTERNAL_NET | 源 IP 地址:外部网络的 IP 地址(变量,需在配置文件中定义) | | 规则头部 | any | 源端口:任意源端口 | | 规则头部 | -> | 方向运算符:标识流量的传输方向 | | 规则头部 | $HOME_NET | 目的 IP 地址:内部网络的 IP 地址(变量,需在配置文件中定义) | | 规则头部 | $HTTP_PORTS | 目的端口:HTTP 服务对应的端口(变量,通常为 80、443 等) | | 规则选项-通用规则选项 | msg | 消息:规则匹配时显示的告警信息 | | 规则选项-通用规则选项 | reference | 参考信息:为规则提供额外的参考内容(如 CVE 漏洞编号) | | 规则选项-通用规则选项 | sid | 规则 ID:用于唯一标识该规则的编号 | | 规则选项-通用规则选项 | rev | 版本信息:该规则的修订版本号 | | 规则选项-非载荷检测选项 | flow | TCP 流方向:限制仅检测特定方向的 TCP 流(如已建立的连接) | | 规则选项-载荷检测选项 | nocase | 大小写忽略:关闭大小写敏感性,提升内容匹配的灵活性 | | 规则选项-载荷检测选项 | content | 内容匹配:过滤数据包载荷,查找与指定内容完全匹配的数据 | | 规则选项-载荷检测选项 | fast-pattern | 快速匹配:优先执行指定内容的搜索以提升载荷检测速度,多“content”选项时必需使用 | | 规则选项-检测后规则选项 | session | 会话:从 TCP 会话中提取用户数据 |

参考链接:https://tryhackme.com/room/snort


查看原文:《SOC的二三事——流量分析之Snort(2)》

评论:0   参与:  3