Citrix ADC

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

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

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

功能 说明
DNS.REQ.QUESTION.DOM 返回DNS查询的问题部分中的域名(qname字段的值)。域名以文本字符串的形式返回,该字符串可以传递给eq (), ne()和任何其他处理文本的函数。
DNS.REQUESTION.TYPE 返回DNS查询中的查询类型(qtype字段的值)。该字段指示正在查询名称服务器的资源记录的类型(例如,a, ns或cname)。可以使用情商()和NE()函数将返回的值与以下值之一进行比较:A、AAAA级,NS, SRV, PTR, CNAME, SOA, MX和任何。注意:您只能将情商()和NE()函数与式函数配合使用。示例:DNS.REQUESTION.TYPE。EQ (MX)

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

功能 说明
DNS.RES.HEADER.RCODE 返回DNS响应的标头部分中的响应代码(rcode字段的值)。您只能将eq()和ne()函数与rcode函数配合使用。以下是可能的值:NOERROR FORMERR, SERVFAIL, NXDOMAIN, NOTIMP和拒绝。
DNS.RES.QUESTION.DOM 返回DNS响应的问题部分中的域名(qname字段的值)。域名以文本字符串的形式返回,该字符串可以传递给eq (), ne()和任何其他处理文本的函数。
DNS.RES.QUESTION.TYPE 返回DNS响应的问题部分中的查询类型(qtype字段的值)。该字段指示响应中包含的资源记录的类型(例如a, ns或cname)。可以使用情商()和NE()函数将返回的值与以下值之一进行比较:A、AAAA级,NS, SRV, PTR, CNAME, SOA, MX和任何。只能将情商()和NE()函数与式函数配合使用。示例:DNS.RES.QUESTION.TYPE。EQ (SOA)

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

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

当查询包含或不包含DNS ecs选项时,以下函数会返回匹配位置的名称。

功能 说明
DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION 使用DNS ECS选项返回查询中使用的匹配位置的名称示。例:(DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION(“.CH…”)
client.ip.src.matches_location 返回不带DNS ECS选项的查询中使用的匹配位置的名称.示例:(client.ip.src. com)matches_location(“.CH…”)
DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION或 client.ip.src.matches_LOCATION 当DNS流量在查询中可能有也可能没有ECS选项时,在策略中使用的常用表达式。示例:“(((DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION(“.CH…”).typecast_text_t) ALT (client.IP.SRC.MATCHES_LOCATION(“.CH…”).typecast_text_t)) .eq(“true”))”
用于评估DNS消息并标识其运营商协议的表达式

在本文中