2013-08-16 76 views
7

Tôi đang cố gắng để làm việc với một giao thức truyền thông (S1AP được cụ thể) và tôi đang cố gắng xác định các thông điệp để kiểm tra.Tệp ASN là gì và cách sử dụng?

Đặc điểm kỹ thuật LTE 36.413 nêu chi tiết giao thức này và cũng cung cấp định nghĩa tệp ASN.1 ở cuối pdf. Tôi đã thấy các tập tin ASN đang được sử dụng trong các dissector cho WireShark, và tôi đoán rằng tôi có thể có thể sử dụng nó để tạo ra các tin nhắn phù hợp với các đặc điểm kỹ thuật.

Tôi đã tự hỏi cách bạn sử dụng các tệp ASN.1. Tôi đã nghiên cứu và tìm thấy thông tin về các trình biên dịch ASN.1 và các thông tin khác liên quan đến nó, nhưng tất cả thông tin đã khiến tôi rất bối rối vì không ai giải thích rõ ràng cách sử dụng nó. Ai đó có thể giúp tôi hiểu cách sử dụng nó?

Trả lời

8

Sau nhiều lần săn, tôi đã tìm ra những tệp ASN.1.

Các tệp ASN.1 này chủ yếu chứa mô tả giao thức và mô tả gói. Sử dụng các tệp ASN.1 này, bạn có thể tạo các tệp .c và .h để sử dụng trong một số ứng dụng mà bạn muốn sử dụng các tệp này. Điều này thực sự tiện dụng vì bạn không phải tạo cơ sở dữ liệu thư của riêng mình. Bạn chỉ cần biên dịch các tệp ASN.1 và các tệp C sẽ được biên dịch để bạn sử dụng.

Bây giờ, bạn phải tự hỏi, làm cách nào để biên dịch điều này? Vâng, bạn thường cần một số loại trình biên dịch ASN.1. Bạn phải trả tiền cho một số, nhưng tôi đã có thể tìm thấy một mã nguồn mở hoạt động với Linux và Windows. Có khả năng là nó có thể hoạt động trên MAC cũng vì UNIX dựa trên miễn là bạn có các phụ thuộc cần thiết. Trong mọi trường hợp, đây là liên kết đến trang web này. Tôi sẽ không giải thích làm thế nào để sử dụng nó bởi vì tôi nghĩ rằng trang web này làm một công việc đáng yêu tại tài liệu sử dụng. Hy vọng điều này sẽ giúp một ai đó nhiều như nó đã giúp tôi.

Kiểm tra trình biên dịch ở đây http://lionet.info/asn1c/blog/

Nếu liên kết đó không làm việc cho bạn, bạn có thể cần phải thử chương trình quảng cáo một ví dụ như trình biên dịch OSS Nocklava ASN1.C hoặc nếu tiền bạc là quan tâm, sau đó nó có thể là có giá trị làm cho cơ sở dữ liệu của riêng bạn mặc dù số lượng thời gian này sẽ mất.

Tất cả tốt nhất.

5
  1. ASN là ngôn ngữ mô tả dữ liệu. Như bạn đã nói, định nghĩa tệp ASN được tìm thấy chỉ định biểu diễn dữ liệu thư của bạn để tuân thủ mã hóa và giải mã theo giao thức S1AP.

  2. Cần phải biên dịch tệp ASN. Đầu ra từ trình biên dịch sẽ cung cấp cho bạn một số đặc tả mã và phần thân (trong hầu hết các trường hợp là tệp .h và .c) để tự động tuần tự hóa/deserialize bất kỳ dữ liệu thư nào thành mô hình dữ liệu S1AP bất kể nền tảng được mã hóa và gửi đến.

  3. Để nhanh chóng thử nghiệm và học cách sử dụng giản đồ ASN.1 của bạn, bạn có thể sử dụng dịch vụ này: http://asn1-playground.oss.com/

  4. Ngoài ra, Đối với một sâu hơn và giải thích ngắn gọn về những gì làm cho ASN.1 mạnh mẽ xin vui lòng đọc này : https://www.thanassis.space/asn1.html. Tác giả cũng chia sẻ một trình biên dịch mã nguồn mở ASN.1 được phát triển dưới sự giám sát của Cơ quan Vũ trụ châu Âu.

  5. Là một mặt lưu ý, nó có thể đáng được nghiên cứu việc sử dụng của Nghị định thư Buffers vì nó đại diện cho một công nghệ rất giống tăng cường với, tính năng được cho là, hiện đại hơn như lùi/tiến khả năng tương thích mô tả dữ liệu và phản ánh: https://developers.google.com/protocol-buffers/docs/cpptutorial

+0

Hi Olivier, cảm ơn sự đóng góp của bạn. StackOverflow thích là một trang web khép kín. Việc phân bổ các nguồn của bạn là rất tốt, nhưng các câu trả lời chỉ có liên kết như thế này được tán thành. Bạn có thể chỉnh sửa bài đăng của mình để bao gồm các chi tiết có liên quan từ các nguồn bạn trích dẫn không? – AndyG

+0

Cảm ơn bạn đã chỉnh sửa. Nó làm nên tất cả sự khác biệt. – AndyG