LDAP 클라이언트 - 서버 통신에서 메시지를 분석하고 메시지 길이 계산 방법을 이해하는 데 문제가 있습니다. ASN.1에서 통신 할 때 LDAP 표준을 기반으로LDAP 긴 메시지 길이 표현
는, 각 메시지는 0x30
(LDAP 메시지 시작)로 시작 및 다음 바이트 이 (번호 나 따라 관련 바이트)를가있다 전까지 메시지 길이되어야한다 0x2
및 0x1
은 메시지 ID를 알립니다. 이것은 분명합니다.
짧은 메시지에서는이 같은 것을 볼 수 있습니다 :
0x30 (start),
0x3c (length),
0x2 (msg id..
0x1
0x1 ),
...
길이가 0x3c
또는 12 월 단순히 60
, 메시지 의 종료 전까지 다음 바이트 수를 인으로하는 것은 사실 60입니다.
약간 더 긴 메시지는 다음과 같이 할 수 있습니다
0x30 (start),
0x81 (???),
0x8e (length),
0x2 (msg id..
0x1
0x1 ),
...
길이가 정확히 0x8e
(또는 DEC에서는 142
)이지만 정확히 이전 바이트는 무엇을 의미합니까? 이 같은
에도 더 이상 메시지보기 : (DEC 또는 130
, 2
또는 227
)
0x30 (start),
0x82 (???),
0x2 (???),
0xe3 (???),
0x2 (msg id..
0x1
0x1 ),
...
와
도 0x82
, 0x2
또는 0xe3
되는 실제 길이 (즉 사실 739 인)
마지막 두 예제 사이의 논리를 볼 수 없습니다. 코드에 길이가 어떻게 표시됩니까?
나는 고맙다. 정확히 내가 알고 싶었던 것이다. – toddddos