14 bytes antes do pacote UDP, qual é o seu propósito? Linux

1

Estou analisando pacotes enviados de um dispositivo de telemetria MT4000. Eu configurei um ouvinte no terminal (Linux) e configurei para exibir os pacotes sendo recebidos em hexadecimal.

Até agora, o pacote de entrada é assim:

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.

Usando este gráfico do guia de referência do MT4000, tentei combinar o hex para os usos corretos.

* Não consigo postar a imagem, pois ainda não tenho 10 reputação. Você pode encontrar o detalhamento do pacote UDP no guia de referência da API do MT4000, ou acho que apenas um detalhamento padrão do pacote UDP.

O guia sugere que o Byte 0 deve conter um "campo de 8 bits para versão e comprimento. Esta API suporta apenas a versão 4 com comprimento de cabeçalho IP de 5 * 4 = 20 bytes. Esse campo deve ser definido como 0x45.2"

Usando esta informação, eu posso ver que o número do byte da versão 15, em vez de 0. Tudo depois disso corresponde, mas não consigo encontrar uma explicação para os primeiros 14 bytes: 0019 216b a7b2 0018 3f49 8ac1 0800

Qualquer ajuda seria muito apreciada, obrigado antecipadamente,

Ed

    
por Ed Prince 23.07.2014 / 12:16

1 resposta

3

Os 14 bytes na frente do cabeçalho IP são o cabeçalho Ethernet, os últimos dois bytes dos quais ( 0800 ) indicam o protocolo de camada superior (IP).

    
por 23.07.2014 / 12:28

Tags