Client-Objektkennung in BIND 9-Abfrageprotokollen

Client-Objektkennung in BIND 9-Abfrageprotokollen

Das BIND 9 Administrator Reference Manual, z. B. für Version14.9.11oder9.17.1Staaten in

  • 5.2. GRAMMATIK DER KONFIGURATIONSDATEI
    • Der categorySatz
      • queries

Der Abfrageprotokolleintrag meldet zunächst eine Clientobjektkennung im @0x<hexadecimal-number>Format.

Dieser Begriff wurde sonst nirgends im ARM erwähnt, und es ist die einzige Erwähnung einesObjektkennungüberhaupt.

  • Es scheint nicht mit dem Client zusammenzuhängen, der die Abfrage gesendet hat:

    • Dies könnte auch für Abfragen von vielen unabhängigen IP-Adressen der Fall sein, aber
    • Es kann bei zwei Abfragen von derselben IP-Adresse unterschiedlich sein.
  • Zum Beispiel@0x123456789abc

    • die erste Hälfte 123456scheint immer gleich zu bleiben
    • die zweite Hälfte 789abcändert sich von Zeit zu Zeit.
  • In Abfrageprotokollbeispielen kann es 32-Bit @0xffffffffoder 48-Bit sein @0xffffffffffff.

  • Alan Clegg, in diesemBIND-ProtokollierungPräsentation vom Oktober 2019, beschreibt es nur durch das, was es nicht ist:

    A @0xgefolgt von der Client-Objektkennung (hat nichts mit der Client-Adresse zu tun)

Was ist das und wie wird es berechnet?
Welche Informationen können wir daraus gewinnen? Warum werden sie überhaupt protokolliert?

Antwort1

Laut Tony FinchsAntwortan die Mailingliste der Bind-User im August 2019:

Es handelt sich um die Adresse im Speicher der Datenstruktur, die BIND verwendet, um seinen Arbeitsstatus für die Abfrage beizubehalten.

Ich bin überrascht, dass dies anscheinend der einzige Ort ist, an dem dies tatsächlich erklärt wird. Die Benennung scheint eher irreführend, da es auf dieser Grundlage nicht um dieKlientnochObjektkennungenOID (proITU-T X.660| ISO/IEC 9834-1).

Die Erklärung scheint glaubwürdig, da sie sowohl mit dem Format als auch mit dem Verhalten des Wertes übereinstimmt. Diese Protokollierung stammt aus ISCslib/ns/client.cd.h. dieClientobjekt(Danke, Patrick Mevzek!):

2715    isc_log_write(ns_lctx, category, module, level,
2716              "client @%p %s%s%s%s%s%s%s%s: %s", client, peerbuf, sep1,
2717              signer, sep2, qname, sep3, sep4, viewname, msgbuf);

Dabei %phandelt es sich um die Speicheradresse (Zeiger) desclient, wie es in C geschrieben ist, und das "client @%p %s%s%s%s%s%s%s%s: %s"ist einprintf-Formatzeichenfolge, bei dem die%Platzhalterhat:

Die Syntax für einen Formatplatzhalter lautet

%[parameter][flags][width][.precision][length]type

Feld „Typ“

  • s: nullterminierte Zeichenfolge.
  • p: void *(Zeiger auf void) in einem implementierungsdefinierten Format.

Stattdessen das BIND 9 Administrator Reference ManualKÖNNTEsagen Sie einfach etwas wie:

Der Abfrageprotokolleintrag meldet zunächst die Speicheradresse der Datenstruktur, die zum Speichern des Arbeitsstatus für die Abfrage verwendet wird, im @0x<hexadecimal-number>Format.

Der ganze Absatz könnte auch lauten:als Liste formatiertstatt einer Geschichte...

verwandte Informationen