文章总结: 文档介绍了Snort入侵检测系统的基本使用方法,包括命令行操作、PCAP文件处理、日志配置和规则编写。重点讲解了Snort规则的组成结构(规则头部和规则选项)及各字段功能,并提供了目录遍历检测规则示例。内容实用,适合安全运维人员学习Snort的基础配置和规则开发。 综合评分: 88 文章分类: 网络安全,安全工具,安全运营
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)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论