Схожую историю обсуждаем сейчас здесь -
http://electronix.ru/forum/index.php?showtopic=120469 Вернее, решение задачки схожее. Любой снифер, разбирающий пакеты, строится на
основе конечного автомата. Иначе никак.
В VisualStudio наверняка полно соотвествующих исходных модулей с готовым кодом различных "сетевых" структур пакетов. По их подобию можно создавать свои структуры, чтобы проще было разбирать то, что сваливается в буфер (передается поверх самого TCP).
ЗЫ. Коммуникационные задачки, конечно, кашмар кашмарный

Тут только конечный автомат... А строиться он должен на основе RFC 1180. Можно, кстати, поискать в сети исходники снифферов, должно помочь.