Citrix ADC

Expresiones para evaluar un mensaje DNS e identificar su protocolo de portadora

Puede evaluar las solicitudes y respuestas de DNS mediante expresiones que comiencen por DNS.REQ y DNS.RES, respectivamente. También puede identificar el protocolo de capa de transporte que se está usando para enviar los mensajes DNS.

Las siguientes funciones devuelven el contenido de una consulta DNS.

Función Descripción
DNS.REQ.QUESTION.DOMAIN Devuelve el nombre de dominio (el valor del campo QNAME) en la sección de preguntas de la consulta DNS. El nombre de dominio se devuelve como una cadena de texto, que se puede pasar a EQ (), NE () y a cualquier otra función que funcione con texto.
DNS.REQ.QUESTION.TYPE Devuelve el tipo de consulta (el valor del campo QTYPE) en la consulta DNS. El campo indica el tipo de registro de recursos (por ejemplo, A, NS o CNAME) para el que se consulta el servidor de nombres. El valor devuelto se puede comparar con uno de los siguientes valores mediante las funciones EQ () y NE (): A, AAAA, NS, SRV, PTR, CNAME, SOA, MX y ANY. Nota: Solo puede utilizar las funciones EQ () y NE () con la función TYPE. Ejemplo: DNS.REQ.QUESTION.TYPE.EQ (MX)

Las siguientes funciones devuelven el contenido de una respuesta DNS.

Función Descripción
DNS.RES.HEADER.RCODE Devuelve el código de respuesta (el valor del campo RCODE) en la sección de encabezado de la respuesta DNS. Solo puede usar las funciones EQ () y NE () con la función RCODE. A continuación se presentan los valores posibles: NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP y REFUSED.
DNS.RES.QUESTION.DOMAIN Devuelve el nombre de dominio (el valor del campo QNAME) en la sección de preguntas de la respuesta DNS. El nombre de dominio se devuelve como una cadena de texto, que se puede pasar a EQ (), NE () y a cualquier otra función que funcione con texto.
DNS.RES.QUESTION.TYPE Devuelve el tipo de consulta (el valor del campo QTYPE) en la sección de preguntas de la respuesta DNS. El campo indica el tipo de registro de recursos (por ejemplo, A, NS o CNAME) que se incluye en la respuesta. El valor devuelto se puede comparar con uno de los siguientes valores mediante las funciones EQ () y NE (): A, AAAA, NS, SRV, PTR, CNAME, SOA, MX y ANY. Solo puede usar las funciones EQ () y NE () con la función TYPE. Ejemplo: DNS.RES.QUESTION.TYPE.EQ (SOA)

Las siguientes funciones devuelven el nombre del protocolo de la capa de transporte.

Función Descripción
DNS.REQ.TRANSPORT Devuelve el nombre del protocolo de capa de transporte que se usó para enviar la consulta DNS. Los valores posibles devueltos son TCP y UDP. Solo puede utilizar las funciones EQ () y NE () con la función TRANSPORT. Ejemplo: DNS.REQ.TRANSPORT.EQ (TCP)
DNS.RES.TRANSPORT Devuelve el nombre del protocolo de capa de transporte que se usó para la respuesta DNS. Los valores posibles devueltos son TCP y UDP. Solo puede utilizar las funciones EQ () y NE () con la función TRANSPORT. Ejemplo: DNS.RES.TRANSPORT.EQ (TCP)

Las siguientes funciones devuelven el nombre de la ubicación coincidente cuando la consulta contiene o no la opción DNS ECS.

Función Descripción
DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION Devuelve el nombre de la ubicación coincidente que se usó en la consulta con la opción DNS ECS. Ejemplo:(DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION(“.CH…..”)
client.ip.src.matches_location Devuelve el nombre de la ubicación coincidente que se usó en la consulta sin la opción DNS ECS. Ejemplo: (client.ip.src.matches_location (“.CH… “)
DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION O client.ip.src.matches_location Expresión común que se utilizará en la directiva cuando el tráfico DNS pueda tener o no la opción ECS en la consulta. Ejemplo: “(((DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION(“.CH…..”).typecast_text_t) ALT (client.IP.SRC.MATCHES_LOCATION(“.CH…..”).typecast_text_t)).eq(“true”))”
Expresiones para evaluar un mensaje DNS e identificar su protocolo de portadora