14 byte đặt trước gói UDP, mục đích của chúng là gì? Linux


1

Tôi đang phân tích các gói được gửi từ một thiết bị đo từ xa MT4000. Tôi đã thiết lập một trình nghe trong thiết bị đầu cuối (Linux) và thiết lập để hiển thị các gói được nhận ở dạng hex.

Cho đến nay các gói đến trông như thế này:

10:57:54.973363 IP 31.70.199.41.30000 > Dans-iPod.30000: UDP, length 37
0x0000:  0019 216b a7b2 0018 3f49 8ac1 0800 4568  ..!k....?I....Eh
0x0010:  0041 007a 0000 ed11 245c 1f46 c729 c0a8  .A.z....$\.F.)..
0x0020:  0156 7530 7530 002d c20f 000a 0200 2020  .Vu0u0.-........
0x0030:  2020 2020 2020 2031 2020 2020 2020 2030  .......1.......0
0x0040:  3132 3938 3130 3030 3239 3832 3133 20    12981000298213.

Sử dụng biểu đồ này từ hướng dẫn tham khảo MT4000, tôi đã thử kết hợp hex với việc sử dụng đúng.

* Tôi không thể đăng ảnh vì tôi chưa có 10 danh tiếng. Bạn có thể tìm thấy sự cố của gói UDP trên hướng dẫn tham chiếu API MT4000 hoặc tôi nghĩ chỉ là sự cố gói UDP tiêu chuẩn.

Hướng dẫn gợi ý rằng Byte 0 nên chứa "trường 8 bit cho phiên bản và độ dài. API này chỉ hỗ trợ phiên bản 4 với độ dài tiêu đề IP là 5 * 4 = 20 byte. Trường này phải được đặt thành 0x45.2"

Sử dụng thông tin này, tôi có thể thấy rằng byte phiên bản số 15, thay vì 0. Mọi thứ sau đó đều khớp, nhưng tôi không thể tìm thấy lời giải thích cho 14 byte đầu tiên: 0019 216b a7b2 0018 3f49 8ac1 0800

Bất kỳ trợ giúp sẽ được rất nhiều đánh giá cao, cảm ơn trước,

Ed

Câu trả lời:


3

14 byte ở phía trước của tiêu đề IP là tiêu đề Ethernet, hai byte cuối cùng trong đó ( 0800) chỉ ra giao thức lớp (IP) cao hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.