BIND 9 쿼리 로그의 클라이언트 개체 식별자

BIND 9 쿼리 로그의 클라이언트 개체 식별자

BIND 9 관리자 참조 매뉴얼(예: 버전)9.14.11또는9.17.1상태

  • 5.2. 구성 파일 문법
    • 문구category
      • queries

쿼리 로그 항목은 먼저 클라이언트 개체 식별자를 @0x<hexadecimal-number>형식으로 보고합니다.

이 용어는 ARM의 다른 곳에서는 언급되지 않았으며 ARM에서 유일하게 언급되었습니다.객체 식별자조금도.

  • 쿼리를 보낸 클라이언트와 관련이 없는 것 같습니다.

    • 관련되지 않은 많은 IP 주소의 쿼리에 대해서도 동일할 수 있지만
    • 동일한 IP 주소의 두 쿼리에 대해 다를 수 있습니다.
  • 예를 들어@0x123456789abc

    • 전반전은 123456항상 똑같은 것 같아
    • 후반부는 789abc수시로 변경됩니다.
  • 쿼리 로그 예에서는 32비트 @0xffffffff또는 48비트 일 수 있습니다 @0xffffffffffff.

  • 앨런 클레그(Alan Clegg)바인드 로깅2019년 10월 발표에서는 다음과 같은 내용이 아닌 것만 설명합니다.

    A @0x뒤에는 클라이언트 개체 식별자가 옵니다(클라이언트 주소와 관련 없음).

그것은 무엇이며 어떻게 계산됩니까?
우리는 그것으로부터 어떤 정보를 얻을 수 있나요? 어쨌든 기록되는 이유는 무엇입니까?

답변1

토니 핀치의 말에 따르면회신하다2019년 8월 바인딩 사용자 메일링 리스트:

이는 BIND가 쿼리에 대한 작업 상태를 유지하는 데 사용하는 데이터 구조의 메모리 주소입니다.

이것이 실제로 설명되는 유일한 곳인 것 같아서 놀랐습니다. 이를 바탕으로 명명은 다소 오해의 소지가 있는 것 같습니다.고객...도 아니다객체 식별자OID(당ITU-T X.660| ISO/IEC 9834-1).

설명은 값의 형식과 동작 모두와 일관되므로 신뢰할 수 있는 것 같습니다. 이 로깅은 ISC에서 제공됩니다.lib/ns/client.c클라이언트 객체(고마워요, 패트릭 메브젝!):

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);

여기서 %p실제로는 메모리 주소(포인터)입니다.client, C로 작성된 것과 같습니다."client @%p %s%s%s%s%s%s%s%s: %s" .printf 형식 문자열, 여기서%자리 표시자가지다:

형식 자리 표시자의 구문은 다음과 같습니다.

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

유형 필드

  • s: null로 끝나는 문자열입니다.
  • p: void *(void에 대한 포인터) 구현 정의 형식입니다.

대신 BIND 9 관리자 참조 매뉴얼을 참조하세요.할 수 있었다간단히 다음과 같이 말해보세요:

쿼리 로그 항목은 먼저 쿼리의 작업 상태를 유지하는 데 사용되는 데이터 구조의 메모리 주소를 @0x<hexadecimal-number>형식으로 보고합니다.

글쎄, 전체 단락은 다음과 같을 수도 있습니다.목록으로 형식화됨이야기 대신...

관련 정보