Citrix ADC

用于评估 DNS 消息和标识其运营商协议的表达式

您可以使用分别以 DNS.REQ 和 DNS.RES 开头的表达式来评估 DNS 请求和响应。您还可以标识用于发送 DNS 消息的传输层协议。

以下函数返回 DNS 查询的内容。

功能 说明
DNS.REQ.QUESTION.DOMAIN 在 DNS 查询的问题部分返回域名(QNAME 字段的值)。域名作为文本字符串返回,可以将其传递给 EQ ()、NE () 和任何其他使用文本的函数。
DNS.REQ.QUESTION.TYPE 返回 DNS 查询中的查询类型(QTYPE 字段的值)。该字段指示正在查询名称服务器的资源记录类型(例如,A、NS 或别名记录)。通过使用 EQ () 和 NE () 函数可将返回值与以下值之一进行比较:A、AAAA、NS、SRV、PTR、CNAME、SOA、MX 和任何。注意:您只能将 EQ () 和 NE () 函数与 TYPE 函数结合使用。示例:DNS.REQ.QUESTION.TYPE.EQ(MX)

以下函数返回 DNS 响应的内容。

功能 说明
DNS.RES.HEADER.RCODE 返回 DNS 响应标头部分中的响应代码(RCODE 字段的值)。您只能将 EQ() 和 NE() 函数与 RCODE 函数结合使用。下面是可能的值:NOERROR、FORMERR、SERVFAIL、NXDOMAIN、NOTIMP 和 REFUSED。
DNS.RES.QUESTION.DOMAIN 在 DNS 响应的问题部分返回域名(QNAME 字段的值)。域名作为文本字符串返回,可以将其传递给 EQ ()、NE () 和任何其他使用文本的函数。
DNS.RES.QUESTION.TYPE 返回 DNS 响应的问题部分中的查询类型(QTYPE 字段的值)。字段指示响应中包含的资源记录的类型(例如,A、NS 或别名记录)。通过使用 EQ() 和 NE() 函数可将返回值与以下值之一进行比较:A、AAAA、NS、SRV、PTR、CNAME、SOA、MX 和 ANY。您只能将 EQ() 和 NE() 函数与 TYPE 函数结合使用。示例:DNS.RES.QUESTION.TYPE.EQ(SOA)

以下函数返回传输层协议名称。

功能 说明
DNS.REQ.TRANSPORT 返回用于发送 DNS 查询的传输层协议的名称。返回的可能值是 TCP 和 UDP。您只能将 EQ () 和 NE () 函数与 Transport 函数结合使用。示例:DNS.REQ.TRANSPORT.EQ(TCP)
DNS.RES.TRANSPORT 返回用于 DNS 响应的传输层协议的名称。返回的可能值是 TCP 和 UDP。您只能将 EQ () 和 NE () 函数与 Transport 函数结合使用。示例:DNS.RES.TRANSPORT.EQ(TCP)

用于评估 DNS 消息和标识其运营商协议的表达式