The Libnet Packet Construction Library

Page last updated: Thu Feb 22 09:59:27 PST 2007

Libnet is a high-level API (toolkit) allowing the application programmer to construct and inject network packets. It provides a portable and simplified interface for low-level network packet shaping, handling and injection. Libnet hides much of the tedium of packet creation from the application programmer such as multiplexing, buffer management, arcane packet header information, byte-ordering, OS-dependent issues, and much more. Libnet features portable packet creation interfaces at both the IP-layer and link-layer, as well as a host of supplementary and complementary functionality. Using libnet, quick and simple packet assembly applications can be whipped up with little effort. With a bit more time, more complex programs can be written (Traceroute and Ping were easily rewritten using libnet and libpcap).

Libnet was designed and is primarily maintained by Mike D. Schiffman (mike_schiffman aht hotmail dawt com) and a host of other people (please see the libnet documentation for the complete list of contributers).

Libnet is distrubuted under the BSD license.

This is an open-source project. Donations are welcomed.

Join the Libnet mailing list.


Current 1.1.x Tree

Latest Stable Version: 1.1.2.1

Latest Beta Version: 1.1.3

Libnet 1.1.2.1 supported protocols

1.1.x Documenation and Resources


Deprecated 1.0.x Tree (unsupported)

Latest Version: 1.0.2a

1.0.x Documentation and Resources


All of the libnet code may be found here.


Back to Projects