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's Introduction
===============================================================================
$Id: README,v 1.4 2004/03/01 20:26:11 mike Exp $
LIBNET 1.1 (c) 1998 - 2004 Mike D. Schiffman <[email protected]>
http://www.packetfactory.net/libnet
===============================================================================
A C library for portable packet creation and injection.
Libnet is an API to help with the construction and handling of network
packets. It provides a portable framework for low-level network
packet writing and handling (use libnet in conjunction with libpcap and
you can write some really cool stuff). Libnet includes packet creation
at the IP layer and at the link layer as well as a host of supplementary
and complementary functionality. Libnet is very handy with which to
write network tools and network test code. See the manpage and sample
test code for more detailed information.
Your old code (circa libnet-1.0.x) WILL NOT WORK with libnet-1.1.x.
Read doc/MIGRATION for easy steps on porting your old code.
EOF