Golang: TCP reassembly. Как собрать сегменты TCP в один пакет после получения?
Пытаюсь воссоздать тоже самое, что делает EPAN-модуль в tshark. Но на Go.
Я получаю (при помощи libpcap) сегменты TCP-пакета. Но я не знаю, как мне их собрать в единый пакет (reassembly),
Как мне отследить, что все пакеты пришли? Как мне их склеить в нужном порядке? Как мне дешифровать payload?
Ознакомится со стандартами RFC на протокол TCP и те протоколы, которые вы собираетесь "дешифровать". Все соответствующие rfc можно найти, например здесь https://tools.ietf.org/html/rfc793. В исходниках wireshark можно посмотреть примеры, как это делается.