Protocols make packet handling easy in libnetdude. Each protocol encodes understanding of the protocol structure found in a packet, such as the protocol header, protocol data length etc. The more protocols libnetdude can access, the more detailed the interpretation of the raw packet data in an LND_Packet becomes.
By default, libnetdude ships with protocol plugins for ARP, Ethernet, FDDI, ICMP, IP, Linux SLL, SNAP headers, TCP, and UDP. Everything else is interpreted as raw protocol data. More protocol plugins are always welcome! For details, see the chapter on how to write a protocol plugin below.