TaZmen Sniffer Protocol (TZSP) layer for github.com/google/gopacket. This package implements easy way to extract the final payload or intermediate protocol data from TZSP packet.
TZSP is encapsulation protocol for other protocols over UDP. Сommonly used for transferring sniffed packets from routers (e.g. Mikrotik Packet Sniffer) and IDS software.
go get github.com/Yiivgeny/tzsp-layerImport this package
import tzsp github.com/Yiivgeny/tzsp-layerDecode packet data using the package layer
packet := gopacket.NewPacket(buffer, tzsp.LayerTypeTZSP, gopacket.Default)
// Extract data from the final protocol
data := packet.ApplicationLayer().Payload()
// or extract a specific layer (e.g., TCP)
tcpPacket := packet.TransportLayer()Full example located in example/server.go and can be launched with go run example/server.go