Красота двоичных данных в том, что они обычно имеют очень фиксированный формат.
Типичный метод синтаксического анализа - объявить структуру, отображающуюся на полученные пакеты, а затем просто использовать приведение типов для чтения полей как элементов структуры.
Прелесть в том, что это не требует разбора.
Вы должны быть осторожны с правилами упаковки структуры и порядком байтов, чтобы карта структуры была точно такой же. Использование макросов C «offsetof» и «sizeof» полезно для создания некоторой отладочной информации, чтобы убедиться, что ваша структура действительно соответствует тому, что вы думаете.
Правила упаковки обычно могут быть изменены либо директивами (такими как # pragma's), либо параметрами командной строки. Endian-ность, с которой вы застряли. Если он отличается от того, что использует ваша встроенная система, объявите все поля как байты или используйте что-то вроде макроса «ntoh» для замены байтов.