Welcome! You're looking at the manual for libnetdude. Thanks for reading this.
libnetdude is a library for manipulating libpcap/tcpdump tracefiles. You may ask why this requires a new library. We believe that a lot of code that uses libpcap is written redundantly because libpcap's API operates at a very low level: you get a means to obtain packets, and read them sequentially — that's it. Therefore, every developer out there that, say, wants to obtain the TCP header in a packet or fix an IP checksum needs to write his or her own code for that purpose. Moreover, the result is usually little helper tools that are never released to the public.
libnetdude's goal is to change this. It provides abstractions on top of the libpcap paradigm that save developers a lot of time by focusing on the relevant parts of their applications. Moreover, libnetdude supports plugins, dynamically loaded libraries, that can essentially do whatever the programmer desires. When developers write their packet manipulation code as libnetdude plugins, this instantly allows other developers to use their code.
libnetdude provides data types and APIs for the most common situations when dealing with libpcap trace files: trace files of arbitrary size, packets, network protocols, packet iterators, packet filters, just to name a few.