1LIBNET(3) libnet Programmers Guide LIBNET(3)
2
3
4
6 libnet - A C library for packet creation and injection
7
9 #include <libnet.h>
10
12 libnet is a packet assembly library that provides a portable interface
13 for packet creation and injection.
14
15 It is a high-level API that allows an application programmer to
16 construct and inject network packets. libnet provides a simplified
17 interface for low-level network packet shaping, handling and injection.
18
19 libnet hides much of the tedium of packet creation from the application
20 programmer such as multiplexing, buffer management, arcane packet
21 header information, byte-ordering, OS-dependent issues, and much more.
22 libnet features portable packet creation interfaces at the IP and link
23 layer, as well as a host of supplementary and complementary
24 functionality. Using libnet, quick and simple packet assembly
25 applications can be whipped up with little effort. With a bit more
26 time, more complex programs can be written (traceroute(8) and ping(8)
27 were easily rewritten using libnet and pcap(3).
28
29 When building applications with libnet we recommend using pkg-config(1)
30 to detect the precense and required version of libnet. The
31 libnet-config(1) script is still bundled in the libnet distribution,
32 but is considered to be deprecated in favor of pkg-config(1). Both can
33 be used to get compiler and linker flags of the installed libnet
34 library, as well as provide other useful information. For applications
35 using GNU autotools, we recommend using the PKG_PROG_PKG_CONFIG and
36 PKG_CHECK_MODULES m4 macros.
37
38 NOTE: If you are writing your application with libnet, include
39 libnet.h, which will include any additional header for you, rather than
40 including libnet/libnet-functions.h, libnet/libnet-macros.h or any of
41 the others.
42
44 Your old code (circa libnet 1.0.x) WILL NOT WORK with libnet> >=1.1.x.
45 See doc/MIGRATION.md for easy steps on porting your old code.
46
48 pkg-config(1), libnet-config(1), libnet-functions(3), libnet-macros(3)
49
51 The original author of libnet is Mike D. Schiffman.
52
53 libnet has been maintained and extensively enhanced since 2009 by Sam
54 Roberts. It is currently maintained by the Libnet Maintainers at
55 GitHub:
56
57 <https://github.com/libnet/libnet>
58
60 Suggestions, bug reports/fixes, and pull requests, see:
61
62 <https://github.com/libnet/libnet/issues>
63
65 libnet is licensed under the 3-Clause BSD License.
66
67
68
69libnet-1.3 2023-10-03 LIBNET(3)