Я нашел ответ на свой вопрос. Документ wireshark \ wireshark \ doc \ README.developer решает эту проблему:
Не извлекайте значение с прямым порядком байтов
используя "tvb_get_ntohs () или
"tvb_get_ntohl ()", а затем с помощью
"g_ntohs ()", "g_htons ()", "g_ntohl ()",
или "g_htonl ()" на полученное значение
- рассматриваемые подпрограммы g_ преобразуются в сетевой порядок байтов
(big-endian) и host order byte,
не little-endian порядок байтов; не
все машины, на которых работает Wireshark
немного порядковый, хотя ПК
являются. Получить эти значения, используя
"tvb_get_letohs ()" и
"Tvb_get_letohl ()".
Посмотрев на tvbuff.h
, я вижу и другие ароматы:
extern guint16 tvb_get_letohs(tvbuff_t*, const gint offset);
extern guint32 tvb_get_letoh24(tvbuff_t*, const gint offset);
extern guint32 tvb_get_letohl(tvbuff_t*, const gint offset);
extern guint64 tvb_get_letoh64(tvbuff_t*, const gint offset);
Публикация, чтобы люди, задающие этот вопрос в будущем, могли найти ответ.