10.17. mDNS 关键词

Suricata 支持粘性缓冲区(sticky buffers),用于高效匹配 mDNS(多播DNS)报文中的特定字段。

注意:粘性缓冲区通常需要配合一个或多个 有效载荷关键词 使用。

10.17.1. mdns.queries.rrname

mdns.queries.rrname 是一个粘性缓冲区,用于检查 mDNS 查询资源记录中的名称字段。

被匹配的缓冲区包含完整重组后的资源名称,例如 "host.local"。

mdns.queries.rrname 支持 多缓冲区匹配

示例:

alert udp any any -> any 5353 (msg:"mDNS query for .local domain"; \
    mdns.queries.rrname; content:".local"; sid:1;)

10.17.2. mdns.answers.rrname

mdns.answers.rrname 是一个粘性缓冲区,用于检查 mDNS 应答资源记录中的名称字段。

被匹配的缓冲区包含完整重组后的资源名称,例如 "printer.local"。

mdns.answers.rrname 支持 多缓冲区匹配

示例:

alert udp any 5353 -> any any (msg:"mDNS answer for printer.local"; \
    mdns.answers.rrname; content:"printer.local"; sid:2;)

10.17.3. mdns.authorities.rrname

mdns.authorities.rrname 是一个粘性缓冲区,用于检查 mDNS 权威资源记录中的 rrname 字段。

被匹配的缓冲区包含完整重组后的资源名称,例如 "device.local"。

mdns.authorities.rrname 支持 多缓冲区匹配

示例:

alert udp any 5353 -> any any (msg:"mDNS authority record check"; \
    mdns.authorities.rrname; content:"auth.local"; sid:3;)

10.17.4. mdns.additionals.rrname

mdns.additionals.rrname 是一个粘性缓冲区,用于检查 mDNS 附加资源记录中的 rrname 字段。

被匹配的缓冲区包含完整重组后的资源名称,例如 "service.local"。

mdns.additionals.rrname 支持 多缓冲区匹配

示例:

alert udp any any -> any 5353 (msg:"mDNS additional record check"; \
    mdns.additionals.rrname; content:"_companion-link._tcp.local"; nocase; sid:4;)

10.17.5. mdns.response.rrname

mdns.response.rrname 是一个粘性缓冲区,用于检查响应中所有 rrname 字段,包括查询、应答、附加和权威记录。此外,它还会检查具有与 rrname 相同格式(主机名)的 rdata 字段。

会被检查的 rdata 类型包括:

  • CNAME

  • PTR

  • MX

  • NS

  • SOA

示例:

alert udp any 5353 -> any any (msg:"mDNS answer data match"; \
    mdns.response.rrname; content:"Apple TV"; sid:5;)