
O Manual de Referência do Administrador BIND 9, por exemplo, para versão14.9.11ou9.17.1estados em
- 5.2. GRAMÁTICA DO ARQUIVO DE CONFIGURAÇÃO
- A
category
frasequeries
- A
A entrada do log de consulta primeiro relata um identificador de objeto cliente em
@0x<hexadecimal-number>
formato.
Este termo não foi mencionado em nenhum outro lugar do ARM e é a única menção de qualqueridentificador de objetode forma alguma.
Parece não estar relacionado ao cliente que estava enviando a consulta:
- poderia ser o mesmo para consultas de muitos endereços IP não relacionados, mas
- pode ser diferente para duas consultas do mesmo endereço IP.
Por exemplo
@0x123456789abc
- a primeira metade
123456
parece sempre a mesma - a segunda metade
789abc
muda de tempos em tempos.
- a primeira metade
Nos exemplos de log de consulta, pode ser de 32
@0xffffffff
ou 48 bits@0xffffffffffff
.Alan Clegg, nesteRegistro BINDapresentação de outubro de 2019, apenas descreve através do que não é:
A
@0x
seguido pelo identificador do objeto do cliente (nada a ver com o endereço do cliente)
O que é e como é calculado?
Que informações podemos extrair disso? Por que está registrado de qualquer maneira?
Responder1
De acordo com Tony Finchresponderpara a lista de discussão de usuários vinculados em agosto de 2019:
É o endereço na memória da estrutura de dados que o BIND usa para manter seu estado de funcionamento para a consulta.
Estou surpreso que este pareça ser o único lugar onde isso é realmente explicado. A nomenclatura parece um tanto enganosa, pois, com base nisso, não se trata doclientenemidentificadores de objetoOID (porITU-T X.660| ISO/IEC 9834-1).
A explicação parece credível, pois é coerente tanto com o formato como com o comportamento do valor. Este registro vem do ISClib/ns/client.c
ou seja, oobjeto cliente(Obrigado, 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);
Aqui, o %p
fato é o endereço de memória (ponteiro) doclient
, como está escrito em C, e "client @%p %s%s%s%s%s%s%s%s: %s"
é umstring de formato printf, onde o%
espaço reservadotem:
A sintaxe para um espaço reservado de formato é
%[parameter][flags][width][.precision][length]type
s
: string terminada em nulo.p
:void *
(ponteiro para void) em um formato definido pela implementação.
Em vez disso, o Manual de referência do administrador do BIND 9PODERIAsimplesmente diga algo como:
A entrada do log de consulta primeiro relata o endereço de memória da estrutura de dados usada para manter o estado de funcionamento da consulta, em
@0x<hexadecimal-number>
formato.
Bem, o parágrafo inteiro também poderia serformatado como uma listaem vez de uma história...