mDNS 关键词 ============= Suricata 支持粘性缓冲区(sticky buffers),用于高效匹配 mDNS(多播DNS)报文中的特定字段。 注意:粘性缓冲区通常需要配合一个或多个 :doc:`payload-keywords` 使用。 mdns.queries.rrname ------------------- ``mdns.queries.rrname`` 是一个粘性缓冲区,用于检查 mDNS 查询资源记录中的名称字段。 被匹配的缓冲区包含完整重组后的资源名称,例如 "host.local"。 ``mdns.queries.rrname`` 支持 :doc:`multi-buffer-matching`。 示例:: alert udp any any -> any 5353 (msg:"mDNS query for .local domain"; \ mdns.queries.rrname; content:".local"; sid:1;) mdns.answers.rrname ------------------- ``mdns.answers.rrname`` 是一个粘性缓冲区,用于检查 mDNS 应答资源记录中的名称字段。 被匹配的缓冲区包含完整重组后的资源名称,例如 "printer.local"。 ``mdns.answers.rrname`` 支持 :doc:`multi-buffer-matching`。 示例:: alert udp any 5353 -> any any (msg:"mDNS answer for printer.local"; \ mdns.answers.rrname; content:"printer.local"; sid:2;) mdns.authorities.rrname ----------------------- ``mdns.authorities.rrname`` 是一个粘性缓冲区,用于检查 mDNS 权威资源记录中的 rrname 字段。 被匹配的缓冲区包含完整重组后的资源名称,例如 "device.local"。 ``mdns.authorities.rrname`` 支持 :doc:`multi-buffer-matching`。 示例:: alert udp any 5353 -> any any (msg:"mDNS authority record check"; \ mdns.authorities.rrname; content:"auth.local"; sid:3;) mdns.additionals.rrname ----------------------- ``mdns.additionals.rrname`` 是一个粘性缓冲区,用于检查 mDNS 附加资源记录中的 rrname 字段。 被匹配的缓冲区包含完整重组后的资源名称,例如 "service.local"。 ``mdns.additionals.rrname`` 支持 :doc:`multi-buffer-matching`。 示例:: alert udp any any -> any 5353 (msg:"mDNS additional record check"; \ mdns.additionals.rrname; content:"_companion-link._tcp.local"; nocase; sid:4;) 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;)