Identificador de objeto de cliente en registros de consultas de BIND 9

Identificador de objeto de cliente en registros de consultas de BIND 9

El Manual de referencia del administrador de BIND 9, por ejemplo, para la versión9.14.11o9.17.1estados en

  • 5.2. GRAMÁTICA DEL ARCHIVO DE CONFIGURACIÓN
    • La categoryfrase
      • queries

La entrada del registro de consultas primero informa en @0x<hexadecimal-number>formato un identificador de objeto de cliente.

Este término no se ha mencionado en ningún otro lugar del ARM y es la única mención de cualquieridentificador de objetoen absoluto.

  • Parece no estar relacionado con el cliente que enviaba la consulta:

    • podría ser lo mismo para consultas de muchas direcciones IP no relacionadas, pero
    • podría ser diferente para dos consultas desde la misma dirección IP.
  • Por ejemplo@0x123456789abc

    • La primera mitad 123456parece ser siempre la misma.
    • la segunda mitad 789abccambia de vez en cuando.
  • En los ejemplos de registro de consultas, puede ser de 32 @0xffffffffo 48 bits @0xffffffffffff.

  • Alan Clegg, en esteRegistro de ENLACEpresentación de octubre de 2019, solo lo describe a través de lo que no es:

    A @0xseguido del identificador del objeto del cliente (nada que ver con la dirección del cliente)

¿Qué es y cómo se calcula?
¿Qué información podemos sacar de ello? ¿Por qué se registra de todos modos?

Respuesta1

Según Tony Finchresponderpara vincular la lista de correo de usuarios en agosto de 2019:

Es la dirección en la memoria de la estructura de datos que utiliza BIND para mantener su estado de funcionamiento para la consulta.

Me sorprende que este parezca el único lugar donde realmente se explica esto. La denominación parece bastante engañosa ya que, según esto, no se trata de laclienteniidentificadores de objetosOID (porUIT-T X.660| ISO/CEI 9834-1).

La explicación parece creíble, ya que es coherente tanto con el formato como con el comportamiento del valor. Este registro proviene de ISC.lib/ns/client.ces decir, elobjeto cliente(¡Gracias, Patricio 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);

Aquí, %pde hecho es la dirección de memoria (puntero) delclient, como está escrito en C, y "client @%p %s%s%s%s%s%s%s%s: %s"es uncadena de formato printf, donde el%marcador de posicióntiene:

La sintaxis de un marcador de posición de formato es

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

Tipo de campo

  • s: cadena terminada en nulo.
  • p: void *(puntero a anular) en un formato definido por la implementación.

En su lugar, el Manual de referencia del administrador de BIND 9PODRÍAsimplemente diga algo como:

La entrada del registro de consultas primero informa la dirección de memoria de la estructura de datos utilizada para mantener el estado de funcionamiento de la consulta, en @0x<hexadecimal-number>formato.

Bueno, todo el párrafo también podría serformateado como una listaen lugar de una historia...

información relacionada