You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snort规则编写需求:匹配subnet_A发出TCP包特定位置的HTTP字符串

编写符合需求的Snort规则

没问题,针对你需要的场景,我来拆解并写出这条Snort规则,顺便解释每个部分的作用,方便你理解。

完整规则

log tcp 172.16.0.0/16 any -> any any (content:"HTTP"; offset:3; depth:37; msg:"Subnet_A TCP packet contains HTTP in bytes 4-40"; sid:1000001; rev:1;)

规则各部分详解

  • log:指定规则的动作是记录匹配的数据包到日志,完全符合你“记录指定事件”的需求。
  • tcp:明确要匹配的协议为TCP,对应题目里的TCP数据包要求。
  • 172.16.0.0/16 any:源地址限定为subnet_A子网,源端口设为any(任意端口)。
  • -> any any:目标地址和目标端口都设为any,满足“发往任意地址”的条件。
  • content:"HTTP":核心匹配条件,指定要查找的字符串是"HTTP"。
  • offset:3:关键参数——Snort的字节计数是0-based的,offset:3表示跳过数据部分前3个字节,也就是从第4个字符(1-based计数)开始查找。
  • depth:37:配合offset使用,限制Snort只在从offset开始的37个字节范围内查找。3+37=40,刚好覆盖到第40个字符(1-based计数),完美契合你“第4至第40个字符之间”的要求。
  • msg:"...":自定义日志消息,方便你在Snort日志里快速识别这条规则触发的事件。
  • sid:1000001; rev:1;:规则ID(sid)要保证在你的规则集中唯一,rev是版本号,后续修改规则时可以递增版本号。

额外小提示

如果要测试这条规则,可以用Snort的离线模式读取测试流量包验证:

snort -c /etc/snort/snort.conf -r your_test_traffic.pcap

内容的提问来源于stack exchange,提问作者Mr. J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:38:25