Usando o Wireshark, estou tentando depurar um erro que estou tendo em um dos meus aplicativos. Estou tendo dificuldade em entender como o conteúdo do pacote está sendo formatado e exibido no Wireshark. Para entender melhor, considere isto:
Eu escrevo os seguintes dados como um prefixo para uma mensagem TCP enviada do meu aplicativo:
1b version buffer, value 52
4b message buffer length, value 1171
Tendo aplicado o filtro apropriado, o Wireshark exibe a seguinte representação hexadecimal para os primeiros 5 bytes da mensagem:
0x34
0x93
0x04
0x00
0x00
O primeiro byte 0x34 corresponde ao buffer de versão que escrevi do meu aplicativo, já que a representação decimal de 0x34 é de fato 52!
No entanto, os quatro bytes restantes não parecem representar o comprimento do buffer de mensagem 1171, conforme o valor que eu escrevi para o buffer do meu aplicativo.
O valor hexadecimal de 1171 é 0x493. Estou confuso porque, dado o hexadecimal impresso no bloco de código acima, o valor parece estar correto apenas para trás! Por que é isso?