Что такое файл ASN и как его использовать?

Я пытаюсь работать с протоколом связи (S1AP, чтобы быть точным) и я пытаюсь определить сообщения для проверки.

спецификация LTE 36.413 детализирует этот протокол, а также дает ASN.1 Определение файла в нижней части файла pdf. Я видел файлы ASN, используемые в диссекторе для WireShark, и я предполагаю, что я мог бы использовать его для генерации сообщений в соответствии со спецификацией.

Мне было интересно, как вы используете ASN.1 файлов. У меня есть исследовал и нашел информацию о ASN.1 компиляторы и другая информация, связанная с ним, но вся информация оставила меня очень смущенным, поскольку никто не объяснил, как ее использовать. Кто-нибудь может помочь мне понять, как его использовать?

2 ответов


после долгой охоты я узнал, что ASN.1 файлы.

эти ASN.1 файлы по существу содержит описание протокола и описание пакета. Используя эти ASN.1 файлы, которые вы можете создать .с и. H файлы, которые будут использоваться в некоторых приложениях вы хотите использовать их для. Это очень удобно, потому что вам не нужно создавать свою собственную базу данных сообщений. Вам просто нужно скомпилировать ASN.1 файлы и вы C файлы будут скомпилированы для вашего использования.

теперь, вы должны быть интересно, как это скомпилировать? Ну, обычно вам нужен какой-то АСН.Компилятор 1. Вы должны заплатить за некоторые, но я смог найти с открытым исходным кодом, который работает с Linux и Windows. Существует потенциал, что он может работать и на MAC, так как это UNIX, пока у вас есть необходимые зависимости. В любом случае вот ссылка на эту веб-страницу. Я не буду объяснять, как использовать его, потому что я думаю, что эта веб-страница делает прекрасную работу по документированию использования. Надеюсь, это поможет кому-то как как бы мне это ни помогло.

Проверьте компилятор здесь http://lionet.info/asn1c/blog/

Если эта ссылка не работает для вас, вам может потребоваться попробовать коммерческий, такой как OSS Nocklava ASN1.C компилятор или если деньги вызывают беспокойство, то может быть стоит сделать свою собственную базу данных, несмотря на количество времени, которое это займет.

всего наилучшего.


  1. ASN-это язык описания данных. Как вы сказали, найденное определение файла ASN указывает представление данных Вашего сообщения в соответствии с кодировкой и декодированием по протоколу S1AP.

  2. файл ASN должен быть скомпилирован. Результат компиляции даст вам некоторую спецификацию кода и тело (в большинстве случаев a .h и .файл кода c) для автоматической сериализации/десериализации любых данных сообщения в модель данных S1AP независимо от платформы кодировке и отправить.

  3. для быстрого тестирования и узнать, как использовать ASN.1 Схема вы можете использовать эту услугу:http://asn1-playground.oss.com/

  4. кроме того, для более глубокого и краткого объяснения того, что делает ASN.1 мощный прочтите это: https://www.Танассис.пространство/является asn1.HTML-код. Автор также разделяет ASN с открытым исходным кодом.1 компилятор, разработанный под руководством Европейского пространства Агентство.

  5. в качестве примечания, возможно, стоит изучить использование буферов протокола, поскольку он представляет собой очень похожую технологию, дополненную, возможно, более современными функциями, такими как совместимость и отражение описания данных назад/вперед:https://developers.google.com/protocol-buffers/docs/cpptutorial