Citrix ADC

Ausdrücke zum Auswerten einer DNS-Nachricht und Identifizieren ihres Trägerprotokolls

Sie können DNS-Anfragen und -Antworten auswerten, indem Sie Ausdrücke verwenden, die mit DNS.REQ bzw. DNS.RES beginnen. Sie können auch das Transportschichtprotokoll identifizieren, das zum Senden der DNS-Nachrichten verwendet wird.

Die folgenden Funktionen geben den Inhalt einer DNS-Abfrage zurück.

Funktion Beschreibung
DNS.REQ.QUESTION.DOMAIN Gibt den Domainnamen (den Wert des Feldes QNAME) im Fragenabschnitt der DNS-Abfrage zurück. Der Domainname wird als Textzeichenfolge zurückgegeben, die an EQ (), NE () und alle anderen Funktionen, die mit Text arbeiten, übergeben werden kann.
DNS.REQ.QUESTION.TYPE Gibt den Abfragetyp (den Wert des Feldes QTYPE) in der DNS-Abfrage zurück. Das Feld gibt den Typ des Ressourceneintrags an (z. B. A, NS oder CNAME), für den der Namenserver abgefragt wird. Der zurückgegebene Wert kann mit einem der folgenden Werte verglichen werden, indem die Funktionen EQ () und NE () verwendet werden: A, AAAA, NS, SRV, PTR, CNAME, SOA, MX und ANY. Hinweis: Sie können nur die Funktionen EQ () und NE () mit der Funktion TYPE verwenden. Beispiel: DNS.REQ.QUESTION.TYPE.EQ (MX)

Die folgenden Funktionen geben den Inhalt einer DNS-Antwort zurück.

Funktion Beschreibung
DNS.RES.HEADER.RCODE Gibt den Antwortcode (den Wert des RCODE-Feldes) im Header-Abschnitt der DNS-Antwort zurück. Sie können nur die Funktionen EQ () und NE () mit der Funktion RCODE verwenden. Es folgen die möglichen Werte: NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP und REFUSED.
DNS.RES.QUESTION.DOMAIN Gibt den Domainnamen (den Wert des Feldes QNAME) im Fragenabschnitt der DNS-Antwort zurück. Der Domainname wird als Textzeichenfolge zurückgegeben, die an EQ (), NE () und alle anderen Funktionen, die mit Text arbeiten, übergeben werden kann.
DNS.RES.QUESTION.TYPE Gibt den Abfragetyp (den Wert des Feldes QTYPE) im Fragenabschnitt der DNS-Antwort zurück. Das Feld gibt den Typ des Ressourceneintrags an (z. B. A, NS oder CNAME), der in der Antwort enthalten ist. Der zurückgegebene Wert kann mit einem der folgenden Werte verglichen werden, indem die Funktionen EQ () und NE () verwendet werden: A, AAAA, NS, SRV, PTR, CNAME, SOA, MX und ANY. Sie können nur die Funktionen EQ () und NE () mit der Funktion TYPE verwenden. Beispiel: DNS.RES.QUESTION.TYPE.EQ (SOA)

Die folgenden Funktionen geben den Protokollnamen der Transportschicht zurück.

Funktion Beschreibung
DNS.REQ.TRANSPORT Gibt den Namen des Transportschichtprotokolls zurück, das zum Senden der DNS-Abfrage verwendet wurde. Mögliche zurückgegebene Werte sind TCP und UDP. Sie können nur die Funktionen EQ () und NE () mit der Funktion TRANSPORT verwenden. Beispiel: DNS.REQ.TRANSPORT.EQ (TCP)
DNS.RES.TRANSPORT Gibt den Namen des Transportschichtprotokolls zurück, das für die DNS-Antwort verwendet wurde. Mögliche zurückgegebene Werte sind TCP und UDP. Sie können nur die Funktionen EQ () und NE () mit der Funktion TRANSPORT verwenden. Beispiel: DNS.RES.TRANSPORT.EQ (TCP)

Die folgenden Funktionen geben den Namen des übereinstimmenden Speicherorts zurück, wenn die Abfrage die DNS-ECS-Option enthält oder nicht.

Funktion Beschreibung
DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION Gibt den Namen des übereinstimmenden Speicherorts zurück, der in der Abfrage mit der Option DNS ECS verwendet wurde. Beispiel :( DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION (“.CH… “)
client.ip.src.matches_location Gibt den Namen des übereinstimmenden Speicherorts zurück, der in der Abfrage ohne die DNS-ECS-Option verwendet wurde. Beispiel: (Client.IP.src.Matches_Location (“.CH… “)
DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION ODER client.IP.SRC.Matches_LOCATION Allgemeiner Ausdruck, der in der Richtlinie verwendet wird, wenn der DNS-Verkehr möglicherweise die ECS-Option in der Abfrage hat oder nicht. Example: “(((DNS.REQ.OPT.ECS.IP.MATCHES_LOCATION(“.CH…..”).typecast_text_t) ALT (client.IP.SRC.MATCHES_LOCATION(“.CH…..”).typecast_text_t)).eq(“true”))”
Ausdrücke zum Auswerten einer DNS-Nachricht und Identifizieren ihres Trägerprotokolls

In diesem Artikel