Рассмотрим эту трассировку Wireshark для запроса регистрации H225 Ras (RRQ):
Как вы можете видеть, Wireshark декодирует requestSeqNum
как 25601, но представление байтов - 0x6400, что составляет 25600. Я просмотрел правила кодирования ASN.1 PER, но не могу найти причину, по которой значение должно быть увеличилось на 1. Мой вопрос, правильно ли Wirehark это декодирует, и если да, то где я могу найти это в спецификации?
Код ASN.1:
RequestSeqNum ::= INTEGER (1..65535)
Фактически, Wireshark последовательно добавляет 1 к requestSeqNum
для всех сообщений h225.
1 ответ
Ничего,
Нашел его в Спецификация:
11.5.7.3 (Двухоктетный случай.) Если «диапазон» имеет значение больше или равное 257 и меньше или равное 64К, тогда значение («n» - «lb») должно быть закодировано в двухоктетное битовое поле (выровненное по октетам в варианте ALIGNED) как неотрицательно-двоично-целочисленное кодирование, как указано в 11.3.
Lb (нижняя граница) в данном случае 1, что объясняет мой вопрос. Я смотрел не в том месте в спецификации, у меня голова болит от чтения спецификаций :)
Похожие вопросы
Новые вопросы
decode
Преобразовать некоторые закодированные данные (например, байты, электрические сигналы) в некоторое представление, готовое к дальнейшей обработке (например, строка, объект, изображение)